我想创建一个可以检测可执行文件是否正在运行的批处理文件,如果没有,它应该在可执行文件关闭后立即启动它。 我尝试了wait命令,但似乎没有按照我想要的方式工作,就像我输入时一样:
@echo off
:Restart
start "SY" /wait "C:\Program Files (x86)\SY.exe"
goto Restart
它启动我的可执行程序而不是让它关闭,但是当最小化并恢复可执行文件时,单击关闭按钮时它很容易关闭。 然后它在命令窗口中显示一条消息:^ CT终端批处理作业(是/否)?
但是,当我为记事本可执行文件尝试相同的批处理代码时,不会发生这种情况:
@echo off
:Restart
start "Edit Text" /wait "%windir%\Notepad.exe"
goto Restart
记事本窗口永远不会关闭,即使通过最小化和恢复然后单击关闭,它也不会关闭。 所以我希望我的可执行文件的结果与记事本可执行文件的结果相同。任何帮助将不胜感激....提前致谢!!!!
答案 0 :(得分:0)
您可以检查.EXE是否与takslist
一起运行。如果它没有运行(||
)那么就开始吧。循环一下,你就完成了:
:loop
tasklist |findstr /ibc:"SY.EXE" || "C:\Program Files (x86)\SY.exe"
timeout 1
goto :loop