我想要一个批处理来检查进程firefox.exe是否存在(在start命令启动之后)。 如果该过程存在,它将转到标签:全屏, 否则批次将进入标签:超时。然后,它将再次检查进程firefox.exe是否存在,如果不存在,它将再次转到标签:fullscreen直到进程存在。
这是我的批次:
@echo off
start "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
:timeout
timeout /t 5
:fullscreen
nircmd sendkeypress F11
exit
我该如何检查?
答案 0 :(得分:1)
您可以显示已打开的程序列表,如下所示:
tasklist
检查firefox是否存在:
编辑:编辑代码以显示完整的工作示例
@echo off
start "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
goto :checkloop
:checkloop
tasklist|find "firefox.exe" > NUL
if %ERRORLEVEL% == 0 (
call :fullscreen
exit
) else (
call :timeout
goto :checkloop
)
:fullscreen
nircmd sendkeypress F11
goto :EOF
:timeout
timeout /t 5
goto :EOF
答案 1 :(得分:1)
您也可以使用QUERY PROCESS:
@Echo Off
If Not Exist "%ProgramFiles(x86)%\Mozilla Firefox\firefox.exe" Exit/B
Start "" "%ProgramFiles(x86)%\Mozilla Firefox\firefox.exe"
:Loop
Timeout 5 /NoBreak>Nul
QProcess firefox.exe>Nul 2>&1||GoTo :Loop
NirCmd SendKeyPress F11