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
4

1 回答 1

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。

于 2015-02-12T12:21:09.833 回答