【问题标题】:For loop in batch file stopping unwantedly批处理文件中的循环意外停止
【发布时间】:2017-08-22 09:31:28
【问题描述】:

我有一个执行 for 循环的批处理文件,看起来像这样:

for /f %%F in ("%DIR%\*.xml") do something.exe --Option1=Value1 --Option2=Value2 ... --File="%%~fF"

其中“某物”是执行某些操作的非拥有黑​​匣子(不知道它是如何工作的,无法修改)。这会正确运行并返回“成功完成”消息,但是由于某些原因,它会强制我的 for 循环停止并运行批处理文件的下一行,而不对所有其余文件执行操作。

有什么办法可以强制它继续而不退出 for 循环?

【问题讨论】:

  • black box - 你指的是命令提示符吗?
  • 删除for 命令中的/f。您想遍历一组文件,而不是读取文件列表的内容或处理单个字符串(您在代码中所做的)

标签: windows batch-file for-loop executable


【解决方案1】:

您似乎要遍历文件名,删除/f 标志。

for %%G in ("%DIR%\*.xml") do ...

由于您的doSomething 程序在完成工作后终止,您需要在单独的进程中启动doSomething

只需将doSomething "%%~fF" 更改为

start "" programName "%%~fF"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 2022-10-23
    • 1970-01-01
    相关资源
    最近更新 更多