2011.8.4
for循环中获得的变量在cmd下用%标记,在bat文件中需要用%%。对于语句:
for /f "delims=" %%a in (a.txt),do()
/f表示对a.txt采用文字遍历,delims表示分隔符,%%a为变量,该变量在之后的do语句的内容中不可用来赋值,只能echo显示。如要将其放入某个变量,如
:SET BAK_FILE_NAME=%%a
则需要使用延迟变量扩展SETLOCAL ENABLEDELAYEDEXPANSION,之后使用!SET BAK_FILE_NAME!来代替%%标志该变量。
另外,set要注意空格的问题,do后面必须加一个空格。