我从命令promt启动Windows窗体应用程序,我需要获取windows窗体应用程序生成的退出代码。命令promt启动应用程序并立即返回。但是应用程序在后台执行。有没有办法获得退出代码?
亲切的问候
基督教。
答案 0 :(得分:9)
答案是
start /wait [Your Command]
然后
echo %errorlevel%
提取返回值。
-
因为我喜欢编写批处理文件......(这是我的一个问题......)
@echo off echo Waiting for program to exit... start /wait %* echo Return code was %errorlevel%
将其保存在扩展名为.bat的地方。使用要运行的程序的命令行作为参数运行它。它将运行您给出的命令,等待它结束,然后打印返回值。
你也可以通过用你的应用替换开始/等待行来对程序进行硬编码,因为文档(start /?)说:
执行32位GUI应用程序的应用程序时,CMD.EXE 在返回之前不会等待应用程序终止 命令提示符。如果执行,则不会发生此新行为 在命令脚本中。
如果从脚本调用CMD,无论是否启用了命令扩展,CMD都会等待winform。
答案 1 :(得分:0)
有关使用ERRORLEVEL
指令的详细信息,请参阅this article by Rob van der Woude。