【发布时间】:2017-12-27 08:49:27
【问题描述】:
我们需要在特定路径的文件夹中搜索文件。 .csv 文件包含文件名列表,我们希望在给定目录中找到这些文件。 如果 .csv 文件中提到的任何文件在搜索路径中丢失,则应该抛出错误消息。
我们尝试了以下脚本,但它不起作用:
set InputFile=C:\Users\336727\Desktop\arun\SearchMCSentry\inputs.csv
:start
for /f "tokens=*" %%A in ('type "%InputFile%"') do (
set "Found=1"
for /R %%f in ("%%A") do (
echo ---%%f and Found = %Found%
if exist %%f (
set Found=2
echo ====%%A and Found = %Found%
pause
)
echo %%A and Found = %Found%
)
if %Found%==1 goto :error
)
:error
echo File not found
您能否帮助我们实现这一目标。
谢谢, 段落
【问题讨论】:
-
请使用顶部栏中的工具搜索 SO
delayed expansion。这应该可以解释为什么您对found价值的期望没有得到满足。你的for..%%A...的整个body都可以替换成if not exist "%%A" goto error,彻底解决flag问题。 -
“它不起作用” 不是问题陈述。请阅读How to Ask。
标签: windows loops batch-file