batch-file - 如何检查阵列中的哪些文件夹存在?
问题描述
如果它(文件夹)存在,我需要在给定列表中的每个文件夹中执行一些命令。
这个脚本有什么问题?
@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
文件夹内容:
解决方案
你可能有点过于复杂了,为什么不这样做:
@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"
推荐阅读
- ios - 在 Timer.scheduledTimer 中更新多个 UI 元素不起作用
- algorithm - 两个数字和问题的真实时间复杂度是多少?
- javascript - 页面中的 HTML 按钮
- javascript - 将值从 index.php 发送到顶点图表 .js 文件
- php - 使用按钮更新表中的值
- python - Pandas:在过滤的数据框中选择行范围和列
- c++ - C++Builder 无法正确编译(无法识别某些函数)
- python - 加入数据框会引发警告
- android - 本机android未连接到socket.io
- java - 如何转换 SearchHits
返回页面类型 spring data elasticsearch 4.0中的返回类型