我想在退出程序csgo.exe时关闭cmd窗口。打开了一个cmd窗口,它是(node server.js),我希望在csgo.exe退出时停止该程序。
这是完整的.bat。
@ECHO OFF
start steam://rungameid/730
start cmd /K "cd C:\CSGO-HUD-master & node server.js"
start cmd /K "cd C:\Program Files (x86)\Mozilla Firefox & start firefox.exe http://localhost:2626/ & exit"
谢谢!
答案 0 :(得分:0)
如果您知道要观看的节目的任务名称,则可以使用。这是代码:
@echo off
:LOOP
tasklist|findstr calc.exe > nul
if %errorlevel%==1 goto ENDLOOP
ping 127.0.0.1 -n 2 > nul
goto LOOP
:ENDLOOP
exit
在这个例子中,我们希望我们的bat在计算器(calc.exe)关闭后终止。
为实现这一目标,我们首先执行tasklist
,它会为我们提供所有正在运行的程序的列表。然后我们检查输出是否出现calc.exe
。如果它仍在运行,findstr calc.exe
会将%errorlevel%
设置为0
,这样我们就可以跳回来再次检查。如果calc.exe
未运行,则%errorlevel%
将设置为1
,因此我们知道我们可以跳出循环并终止。
我添加了行ping 127.0.0.1 -n 2 > nul
以避免busy waiting。这一行将使您的代码在两次迭代之间“等待”一秒钟。考虑一下,要调整等待时间,您需要将2
替换为等待 +1 所需的秒数。因此,如果您想等待五秒钟,代码将为ping 127.0.0.1 -n 6 > nul
。