2014-05-16 82 views
0

我試圖寫一個簡單的批處理文件我不能讓循環

該腳本將獲取namefile的文件「轉儲」和我分割字符串的變量,但我不能顯示變量! !

for /r %%a in (dump\*) do (
     set file=%%a 
     for /f %%i in ("%%a") do (
     for /F "tokens=1 delims=-" %%d IN ("%%~ni") do set db=%%d   
    ) 
echo %db% 
) 
pause 

任何想法?

感謝您的幫助。

回答

1

嘗試設置setlocal ENABLEDELAYEDEXPANSION和交換與感嘆號的變種來代替,見下圖:

setlocal ENABLEDELAYEDEXPANSION 
for /r %%a in (dump\*) do (
     set file=%%a 
     for /f %%i in ("%%a") do (
     for /F "tokens=1 delims=-" %%d IN ("%%~ni") do set db=%%d   
    ) 
echo !db! 
) 
pause 
+0

感謝它的工作原理 – Issam