请教各位:
@echo off
for /f "tokens=1,2 delims=*" %%i in (test.txt) do (
echo %%i*********%CD%
set orig_dir=%CD%
echo orig_dir--------------%orig_dir%
)
pause
test.txt的内容为:
1
2
3
输出结果为:
1*********E:\files
orig_dir--------------
2*********E:\files
orig_dir--------------
3*********E:\files
orig_dir--------------
Press any key to continue . . .
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=*" %%i in (test.txt) do (
echo %%i*********%CD%
set orig_dir=%CD%
echo orig_dir--------------!orig_dir!
)
pause
是"tokens=1,2 delims=*" 在作怪,删除掉就正常了!如下:
@echo off
for /f %%i in (test.txt) do (
echo %%i*********%CD%
set orig_dir=%CD%
echo orig_dir--------------%orig_dir%
)
pause
是"tokens=1,2 delims=*" 在作怪,删除掉就正常了!如下:
@echo off
for /f %%i in (test.txt) do (
echo %%i*********%CD%
set orig_dir=%CD%
echo orig_dir--------------%orig_dir%
)
pause
XP PRO SP2下测试失败。
如果不想起用延时的环境变量的话,建议用call :标号 参数 结构,而且可以让代码的可读性更好。
@echo off
for /f "tokens=1,2 delims=*" %%i in (test.txt) do call :dosomething %%i
pause
goto :eof
:dosomething
echo %1*********%CD%
set orig_dir=%CD%
echo orig_dir--------------%orig_dir%
goto :eof