我有一个启动程序(bat)的批处理文件脚本,X秒后批处理脚本关闭程序(exe)并重新启动。
这是我的代码:
:loop
start "1.bat" "C:\1\1.bat"
Timeout 10
taskkill /f /im program.exe
goto loop
如果程序结束,我希望Cmd.exe窗口关闭,但只有" 1.bat"窗口应该关闭。我无法为我的" 1.bat"找到指定的cmd窗口。在任务管理器中处理它以关闭它。
如果我使用&&和&&amp ;;关闭 programm.exe 退出批次没有重启!
答案 0 :(得分:0)
你可以做两件事之一。
1 - 如果您有1.bat
的访问权限(即,它不是只读的或实际上不是.exe),请在运行exit
之后添加program.exe
。
2 - 否则,如果由于某种原因无法修改1.bat
,则可能需要添加以下命令行:
taskkill /FI "IMAGENAME eq cmd.exe" /FI "WINDOWTITLE eq 1.bat"
因此,您的批处理脚本将如下所示:
:loop
start "1.bat" "C:\1\1.bat"
Timeout 10
taskkill /f /im program.exe
taskkill /FI "IMAGENAME eq cmd.exe" /FI "WINDOWTITLE eq 1.bat"
goto loop
或类似的。基本上/FI
是过滤器开关,您可以指定根据" IMAGENAME"进行过滤。 ( eq uals" cmd.exe")和" WINDOWTITLE" ( eq uals" 1.bat")