windows bat中有这样一个遍历test.txt中的内容并打印的test.bat脚本:
1
2
3
4
|
@ echo off if "%~1" == "" set SORHOME=D:\ test () if not "%~1" == "" set SORHOME=%~1 for /f %%i in (%SORHOME%\ test .txt) do echo %%i |
脚本的执行结果是:
【问题】:
SORHOME变量的路径中带有“()”, 为了解决括号的问题,尝试了很多种,包括变量两边单引号,双引号,这些都不可以。
【解决办法】:文件夹命名的时候禁止带‘()’,因为这个(), 在bat脚本中的for需要用到。
【修改结果】:
1
2
3
4
|
@ echo off if "%~1" == "" set SORHOME=D:\ test if not "%~1" == "" set SORHOME=%~1 for /f %%i in (%SORHOME%\ test .txt) do echo %%i |
【执行结果】:
【备注】:
test.txt 内容就是
1
2
3
4
5
6