如果它(文件夹)存在,我需要在给定列表的每个文件夹中执行某些命令。
这个脚本有什么问题?
@echo off
set FILE_LIST=(a b c d file)
for %%i in %FILE_LIST% do (
IF EXIST %cd%\%%~i (
set flag=Yes
) else (
set flag=No
)
:: Just for problem illustration, for SO
echo "%%i": %flag%
if %flag%=="Yes" (
start somecommand %cd%\%%~i\program.exe
)
)
执行结果:
C:\Temp>script.bat
"a": No
"b": No
"c": No
"d": No
"file": No
文件夹内容:
答案 0 :(得分:3)
你可能会过度复杂,为什么不这样做:
@echo off
for %%i in (a b c d file) do if exist "%%i" echo "%%i"
所以如果你想运行一个程序,那就做:
@echo off
for %%i in (a b c d file) do if exist "%%i" start "somecmd" "%%i\program.exe"