用于检查 运行 程序并启动的批处理文件 运行 不工作
Batch File to Check for Running Program and Start if not Running is not working
我一直在努力使这个批处理文件正常工作,但 运行 仍然存在问题。我想我很接近但需要帮助才能正常工作。当脚本运行时,我得到 Find: Parameter format not correct。
我在 运行 Windows Server 2008 R2 Standard 上。
@echo off
tasklist /FI "IMAGENAME eq program.exe" | find /i “program.exe"
IF ERRORLEVEL 2 GOTO NEXTPROGRAM
IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM
:NEXTPROGRAM
goto SMADMIN
:LAUNCHPROGRAM
start "" "C:\path\to\program.exe"
goto SMADMIN
:SMADMIN
tasklist /FI "IMAGENAME eq program1.exe" | find /i “program1.exe"
IF ERRORLEVEL 2 GOTO NEXTPROGRAM2
IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM2
:NEXTPROGRAM2
goto COMPLETE
:LAUNCHPROGRAM2
start "" "C:\path\to\program1.exe"
goto COMPLETE
你可以这样查看exe是否运行:
SET running=0
FOR /f "tokens=*" %%A IN ('tasklist^ /v^| findstr /i /c:"program.exe"') DO SET running=1
IF %running%=1 GOTO NEXTPROGRAM
IF %running%=0 GOTO LAUNCHPROGRAM
之后您只需检查 %ProgramRunning% 是否设置为 1。
不要忘记在重新使用之前将 %运行% 标志重置回 0。
我一直在努力使这个批处理文件正常工作,但 运行 仍然存在问题。我想我很接近但需要帮助才能正常工作。当脚本运行时,我得到 Find: Parameter format not correct。
我在 运行 Windows Server 2008 R2 Standard 上。
@echo off
tasklist /FI "IMAGENAME eq program.exe" | find /i “program.exe"
IF ERRORLEVEL 2 GOTO NEXTPROGRAM
IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM
:NEXTPROGRAM
goto SMADMIN
:LAUNCHPROGRAM
start "" "C:\path\to\program.exe"
goto SMADMIN
:SMADMIN
tasklist /FI "IMAGENAME eq program1.exe" | find /i “program1.exe"
IF ERRORLEVEL 2 GOTO NEXTPROGRAM2
IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM2
:NEXTPROGRAM2
goto COMPLETE
:LAUNCHPROGRAM2
start "" "C:\path\to\program1.exe"
goto COMPLETE
你可以这样查看exe是否运行:
SET running=0
FOR /f "tokens=*" %%A IN ('tasklist^ /v^| findstr /i /c:"program.exe"') DO SET running=1
IF %running%=1 GOTO NEXTPROGRAM
IF %running%=0 GOTO LAUNCHPROGRAM
之后您只需检查 %ProgramRunning% 是否设置为 1。
不要忘记在重新使用之前将 %运行% 标志重置回 0。