2014-11-08 82 views
1
@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

我会使用

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参数是否正确)

+0

这很好,正是我所期待的。 – David 2014-11-08 03:48:30

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 

如果这不是你在找什么请让我知道。 祝你好运。

+0

似乎它不运行无论如何,该程序都会退出并退出。我需要从该目录运行mc_com.exe。我真的不需要它告诉我任何事情。如果mc_com.exe正在运行退出,如果不运行它。 – David 2014-11-08 03:41:02

+0

真的,我不认为我需要NEQ只是如果mc_com.exe没有运行,然后运行它,否则退出。我可以缩短更多吗? – David 2014-11-08 03:42:23

相关问题