循环并等待批处理文件

时间:2018-04-01 13:08:28

标签: loops batch-file wait

我制作了一个带有开始/等待的批处理脚本,并检查它是否再次运行。如果没有关闭脚本,如果再次运行再次等待,但它不起作用,它会一遍又一遍地启动程序。

有人可以告诉我该怎么做吗?

@ECHO OFF
:START
START /WAIT "" "C:\Program Files (x86)\Steam\Steam.exe" -bigpicture
timeout /t 10 > nul
tasklist | find /I "Steam"
if errorlevel 1 (
    START C:\Scripts\shutdown.vbs
) else (
    GOTO START
)
EXIT

1 个答案:

答案 0 :(得分:0)

@ECHO OFF

call :START
if errorlevel 1 call :START
exit /b

:START
start /wait "" "C:\Program Files (x86)\Steam\Steam.exe" -bigpicture
timeout /t 10 > nul
tasklist | find /i "Steam"
if not errorlevel 1 exit /b 1
start C:\Scripts\shutdown.vbs
exit /b 0

这将调用:START。具有以下整数的exit /b将设置错误级别0或1.如果:START设置错误级别1,则对:START进行第二次调用。

这消除了goto :START循环。