批处理文件中的循环意外停止
For loop in batch file stopping unwantedly
我有一个执行 for 循环的批处理文件,看起来像这样:
for /f %%F in ("%DIR%\*.xml") do something.exe --Option1=Value1 --Option2=Value2 ... --File="%%~fF"
其中"something"是一个不属于自己的黑盒子(不知道它是如何工作的,无法修改),它执行某些操作。 运行 是正确的,returns 是 "completed successfully" 消息,但是由于某些原因,它强制我的 for 循环停止并且 运行 我的批处理文件的下一行而不执行操作对于所有其余文件。
有什么方法可以强制它继续而不退出 for 循环吗?
您似乎想遍历文件名,请删除 /f
标志。
for %%G in ("%DIR%\*.xml") do ...
由于您的 doSomething
程序在完成其工作后终止,您将需要在单独的进程上启动 doSomething
。
只需将doSomething "%%~fF"
改为
start "" programName "%%~fF"
我有一个执行 for 循环的批处理文件,看起来像这样:
for /f %%F in ("%DIR%\*.xml") do something.exe --Option1=Value1 --Option2=Value2 ... --File="%%~fF"
其中"something"是一个不属于自己的黑盒子(不知道它是如何工作的,无法修改),它执行某些操作。 运行 是正确的,returns 是 "completed successfully" 消息,但是由于某些原因,它强制我的 for 循环停止并且 运行 我的批处理文件的下一行而不执行操作对于所有其余文件。
有什么方法可以强制它继续而不退出 for 循环吗?
您似乎想遍历文件名,请删除 /f
标志。
for %%G in ("%DIR%\*.xml") do ...
由于您的 doSomething
程序在完成其工作后终止,您将需要在单独的进程上启动 doSomething
。
只需将doSomething "%%~fF"
改为
start "" programName "%%~fF"