2014-11-08 101 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

相關問題