我试图弄清楚为什么暂停不能使用此代码,任何人都可以帮助我?
@echo off
for %%1 in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%1:\ (
set d=%%1:
call :processToken
)
)
goto :eof
:processToken
for /f "tokens=1-5*" %%1 in ('vol %d%') do (
set vol=%%6 & goto done
)
:done
echo %d% name=%vol%
goto :eof
pause
答案 0 :(得分:2)
因为它永远不会到达。
之前您有goto :eof
行,这会阻止该批次。
答案 1 :(得分:0)
尝试以下方法:
(注意将:EOF标签替换为:EndOfFile,每次都会调用暂停功能)
@echo off
for %%1 in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%1:\ (
set d=%%1:
call :processToken
)
)
goto :EndoOfFile
:processToken
for /f "tokens=1-5*" %%1 in ('vol %d%') do (
set vol=%%6 & goto done
)
:done
echo %d% name=%vol%
goto :EndoOfFile
:EndoOfFile
pause