bat脚本的问题小结

1、setlocal enabledelayedexpansion没有写,延迟变量,全称延迟环境变量扩展; —》echo处于关闭状态
2、在set语句中,"="符号两边不能有空格,有空格的话,会把空格也算在变量名中; --》echo处于关闭状态
3、不知道为什么把%var% 改成了 !var! 就不会报错了; --》 echo处于关闭状态

@echo off
set /p choice=输入当前文件夹下面的目录名:
setlocal enabledelayedexpansion
for /r ./%choice%/ %%i in(*.txt) do (
		set var=%%i
		echo %var%
)
pause

4、不知道为什么把%var% 改成 !var!就不报错了,打印变量的值得时候出现了:C:\Users\ADMINI~1\AppData\Local\Temp,以下为脚本内容

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (./124.txt) do (
	set "tmp=%%i"
	echo 替换前的值:!tmp!
	set "var=%tmp:hate=love%"
	echo 替换后的值:!var!

) 	

pause
	

3和4:!a! 是变量的意识,正常的应该是 %a%,但在启动了延迟变量的情况下就要将%改为!号
%%i 应该是for中的语句,通过for设的变量.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值