2017-07-27 30 views
0

我想创建一个批处理文件,可以检测可执行文件是否正在运行,如果没有,它应该在可执行文件关闭后立即启动它。 我试图等待命令,但它似乎并不工作,我想,当我输入这样的:如何创建一个在可执行文件关闭后重新启动可执行文件的批处理脚本?

@echo off 
:Restart 
start "SY" /wait "C:\Program Files (x86)\SY.exe" 
goto Restart 

它开始我的可执行程序,而不是让它接近,但可执行文件时最小化和恢复,然后当点击关闭按钮时,它很容易关闭。 然后它会在命令窗口中显示一条消息:^ CTerminate批处理作业(是/否)?

但是,当我尝试记事本可执行同一批次的代码没有像这种情况发生:

@echo off 
:Restart 
start "Edit Text" /wait "%windir%\Notepad.exe" 
goto Restart 

记事本窗口从未关闭,甚至通过最小化和恢复然后单击关闭,不会关闭。 所以我希望我的可执行文件的结果与记事本可执行文件的结果相同。任何帮助将不胜感激....在此先感谢!

+0

什么类型的应用程序是你的'C:\ Program Files(x86)\ SY.exe'?一个控制台应用程序,窗口GUI或Windows UWP?如何在没有开始的情况下运行程序? – LotPings

回答

0

你可以检查你的.EXE是否在运行takslist。如果它没有运行(||),那么只需启动它。放一个循环,你就完成了:

:loop 
tasklist |findstr /ibc:"SY.EXE" || "C:\Program Files (x86)\SY.exe" 
timeout 1 
goto :loop 
相关问题