批处理 - 检查程序是否正在运行,如果没有,请运行它

时间:2014-11-08 03:19:38

标签: batch-file

@echo off
tasklist /FI "IMAGENAME eq mc_com.exe" 2>NUL | find /I /N "mc_com.exe" >NUL
if "%ERRORLEVEL%"=="0" echo Program is running
tasklist /FI "IMAGENAME eq mc_com.exe" 2>NUL | find /I /N "mc_com.exe" >NUL
if "%ERRORLEVEL%"NEQ"0" (D:\Software\Programs\MediaCompanion\mc_com.exe -e -m -v)

如果mc_com.exe尚未运行但如果它正在运行以结束脚本,我如何运行它?

工作解决方案

tasklist|find /i "mc_com.exe" >NUL
if errorlevel 1  (start "" D:\Software\Programs\MediaCompanion\mc_com.exe -e -m -v)
goto :eof

2 个答案:

答案 0 :(得分:2)

我使用

tasklist|find /i "mc_com.exe" >NUL
if errorlevel 1  (start "" D:\Software\Programs\MediaCompanion\mc_com.exe -e -m -v)
goto :eof

也就是说,如果它还没有运行,请启动mc_com,如果这是你想要的(假设你的mc_com参数是正确的话)

答案 1 :(得分:0)

听起来,你应该只需要退出,开始和转到这样:

@echo off
tasklist /FI "IMAGENAME eq mc_com.exe" 2>NUL | find /I /N "mc_com.exe" >NUL
if "%ERRORLEVEL%"=="0" echo Program is running
goto procede
tasklist /FI "IMAGENAME eq mc_com.exe" 2>NUL | find /I /N "mc_com.exe" >NUL
if "%ERRORLEVEL%"NEQ"0" (D:\Software\Programs\MediaCompanion\mc_com.exe -e -m -v)
start mc_com.exe

:procede
exit

如果这不是您要找的,请告诉我。 祝你好运。