Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在批处理文件中捕获调用的输出?_Windows_Batch File_Exception Handling - Fatal编程技术网

Windows 如何在批处理文件中捕获调用的输出?

Windows 如何在批处理文件中捕获调用的输出?,windows,batch-file,exception-handling,Windows,Batch File,Exception Handling,我面临以下问题,非常感谢您的帮助,因为我是windows系统的新手: 我正在编写一个脚本,在某个时候启动一个可执行文件。此可执行文件可能会失败,在这种情况下,我希望我的批处理文件停止运行。我的研究让我找到了以下链接:(第一个答案) 这个答案的问题在于(除非我被误导)只有在被调用目标的源代码是可访问的情况下才能工作。无论如何,对于我想做的事情来说,这个解决方案似乎真的很复杂。是否有更直接的方法来检测故障(能够捕获错误消息或使用错误代码就足够了)?为了更好地理解这个问题,您可以查看随附的屏幕截图 谢

我面临以下问题,非常感谢您的帮助,因为我是windows系统的新手:

我正在编写一个脚本,在某个时候启动一个可执行文件。此可执行文件可能会失败,在这种情况下,我希望我的批处理文件停止运行。我的研究让我找到了以下链接:(第一个答案)

这个答案的问题在于(除非我被误导)只有在被调用目标的源代码是可访问的情况下才能工作。无论如何,对于我想做的事情来说,这个解决方案似乎真的很复杂。是否有更直接的方法来检测故障(能够捕获错误消息或使用错误代码就足够了)?为了更好地理解这个问题,您可以查看随附的屏幕截图

谢谢你的帮助,希望这对不止一个人有用, 问候

附件:

第一幅图显示了我想要捕获的错误消息:

这一部分显示了我调用可执行文件的脚本:


在第二幅图上,findstr指令用于在日志文件中查找特定句子,如果找到该句子,则我们可以假设执行已成功,否则我们无法得出结论。这是一个相当敷衍的解决方案…

我们不知道。您的可执行文件是否返回错误代码?(顺便说一句:正确的语法
findstr/c:“搜索的字符串”
(注意冒号(没有空格!))(另一个“顺便说一句”:我猜,
ccomprehensive
是一个打字错误)@史蒂芬:在调用可执行文件后,我尝试了一个if errorlevel1,但它什么也没做,所以我认为它根本不处理错误代码。谢谢你的更正,我用你的findstr指令替换了我的findstr指令,似乎错误代码级别被忽略了,所以肯定有点可疑。确实是“ccomprehensive”一个输入错误,但它实际上是一个在日志中显示的输入错误,因此我必须保留它!您处理
findstr
的错误级别,这是可靠的;因此它应该可以正常工作。检查您的字符串(区分大小写;成功地
[S/S]和
?)@Stephan It最终成功了,错误是我忘记了同一行上两条指令之间的“&”。但我想找到另一种方法来做这件事,因为最终日志文件可以更改和/或有几个句子可以确认成功运行,理想情况下我不必返回批处理来更新它每次添加新功能时。。。