我一直在尝试让这个批处理文件正常运行但仍然遇到问题。我认为我很接近,但需要帮助才能实现这一目标。当脚本运行时,我得到查找:参数格式不正确。
我在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
答案 0 :(得分:1)
您可以检查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。
在重复使用之前,不要忘记将%running%标志重置为0.