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设的变量.