一:
用 &&, 结果for /r 后面的doPath全部为d:\
for %%a in (c d e) do set doPath=%%a:\&&for /r "%doPath%" %%b in (*.exe) do if exist %%b ECHO %%b %%~nb
二:
用分行 配合 ()号,结果for /r 后面的doPath全部为e:\
for %%a in (c d e) do (
set doPath=%%a:\
for /r "%doPath%" %%b in (*.exe) do (if exist %%b ECHO %%b)
)
三:
只有用 %1 式的参数方式传递参数才正常
for %%a in (c d e) do call :tag %%a:\
:tag
if #==#%1 goto :eof
for /r "%1" %%b in (*.exe) do if exist %%b ECHO %%b %%~nb
[ Last edited by GOTOmsdos on 2007-1-18 at 11:52 AM ]
用 &&, 结果for /r 后面的doPath全部为d:\
for %%a in (c d e) do set doPath=%%a:\&&for /r "%doPath%" %%b in (*.exe) do if exist %%b ECHO %%b %%~nb
二:
用分行 配合 ()号,结果for /r 后面的doPath全部为e:\
for %%a in (c d e) do (
set doPath=%%a:\
for /r "%doPath%" %%b in (*.exe) do (if exist %%b ECHO %%b)
)
三:
只有用 %1 式的参数方式传递参数才正常
for %%a in (c d e) do call :tag %%a:\
:tag
if #==#%1 goto :eof
for /r "%1" %%b in (*.exe) do if exist %%b ECHO %%b %%~nb
[ Last edited by GOTOmsdos on 2007-1-18 at 11:52 AM ]

