大家好我如何写一个.bat文件,它应该执行以下操作
1) on running the script file-> my user app must be executed.
2) continuously or periodically checks if user app is running
3) if app closes it should start the app again.
而且,我怀疑当我的用户应用程序崩溃时它并没有完全关闭 显示应用程序停止工作错误,如何绕过此错误,以便我的bat文件可以检测到该应用程序已关闭并需要打开。 ?? 我是全新的,所以任何提示和帮助都非常赞赏。
答案 0 :(得分:2)
@ECHO OFF
SETLOCAL
SET /a counter=60
:again
tasklist|FINDSTR /i /b /L "boinc.exe" >NUL
IF NOT ERRORLEVEL 1 cls&exit
timeout /t 6 >NUL
SET /a counter-=1
IF %counter% gtr 0 GOTO again
SET /a counter=60
ECHO execute BOINC
START "boinc" "C:\Program Files\eFMer\BoincTasks\boinctasks64.exe"
GOTO again
我使用此批次来确保boinc.exe
启动(这是为了在后台运行研究科学)。
如果if not errorlevel 1...
行更改为
IF NOT ERRORLEVEL 1 timeout /t 60 >NUL&goto again
然后检查将每60秒重新运行一次。按照目前的情况,它被设计为在检查之间延迟6分钟,超时6秒60次。可以通过将count
和timeout
参数设置为不同的值来修改此值。
(您可能接下来想要搜索如何以静默方式运行批处理文件。这里有关于SO的文章 - 只需使用页面顶部的search
)
答案 1 :(得分:1)
请参阅以下链接以执行.bat文件中的exe: - http://www.computerhope.com/issues/ch001345.htm
但我不确定您是否能够使用.bat文件检测正在运行的应用程序。 为了检测应用程序,您可以为此编写自动化脚本。 一切顺利。