2012-02-17 91 views
0

我有一个批处理脚本,它可以在循环中触发带有命令行输入的exe(C++代码)。如何使批处理文件在触发的exe崩溃时继续运行

该代码,这是这样的:

for /f %%j in (file.txt) do (
"MyExe.exe" "input\MyInput_%%j.txt" 
) 

“file.txt的”包含输入文件名列表。问题是,有时我的EXE崩溃的一些输入文件。当它崩溃时,脚本停止运行并需要手动干预。

如何解决这个问题,以便当exe exe崩溃时,我的脚本可以只显示一条消息,并继续执行下一个输入?

我在Windows XP上运行脚本,但无OS的解决方案会更好。

回答

1

尝试在另一个实例中运行它。这样的事情:

for /f %%j in (file.txt) do (
    cmd.exe /C "MyExe.exe" "input\MyInput_%%j.txt" 
) 
+0

:但不会这对所有输入启动一个新的cmd提示?如果是,那么这将立即启动许多cmd提示,并会增加我的电脑负担。 – Garfield 2012-02-17 07:45:36

+0

是的。但cmd提示将关闭,执行结果将返回到主批处理文件。当然,你将不得不拿起返回值,并根据它显示一个合适的信息。但是bat-file应该继续运行。 – 2012-02-17 07:51:09

+0

还有一个启动命令,但我不确定它是如何工作的,如果执行崩溃。 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/start.mspx?mfr=true – 2012-02-17 07:56:37