亞索日前需要寫ㄧ個迴圈批次,發現在For迴圈中變數會無法調用的現象,查詢後得知要調用多重變數需要在批次中多加一條參數。
注意事項
- 撰寫為批次檔時,請使用 %%a,而在命令列執行時要改用 %a。
- 變數有大小寫的區分,%%i 不同於 %%I。
- 變數會有取值異常。
ㄧ般寫法
for %%i in (*) do (
echo %%i
Command %%i
)
寫成ㄧ條
for %%i in (*) DO echo %%i & [Command 2]
多重變數應用
SETLOCAL ENABLEDELAYEDEXPANSION FOR /F "tokens=1" %%a IN (D:\folders.txt) DO ( REM (格式不可錯誤,SET前空ㄧ格TAB) SET strRBFolder=%%a SET strSPath=\\[PATH]\!strRBFolder! SET strDPath=\\[PATH]\!strRBFolder! ECHO !strDPath! ECHO !strSPath! ) GOTO END :END Pause