2015-07-28 62 views
3

我不知道任何關於批處理文件,我正在爲某件事做一件事。我想寫一個批處理文件,這將繼續運行在後臺本身將處理,以確保如果'java.exe'正在運行,如果它不是,那麼它會觸發其他批處理文件(說'abc.bat'批處理文件「如果某個'exe'未在(任務管理器)中運行,則執行此任務」?

這個'abc.batch'設置了一些參數,啓動'java.exe'執行這些參數。我想讓這個'java.exe'繼續運行,如果任何人關閉它,它應該立即通過執行'abc.bat'重新啓動。此外,我不想在'abc.bat'中進行更改。

如果它很混亂,我想爲我的寫作技巧道歉,我想請你澄清一下。

+1

[批量計劃,以檢查是否過程中存在]的可能重複(http://stackoverflow.com/questions/15449034/batch-program-to-to-check-if-process-exist) – wOxxOm

回答

2
@if (@X)==(@Y) @end /* JSCRIPT COMMENT ** 


@echo off 

set process_to_check=java.exe 
:repeat 

cscript //E:JScript //nologo "%~f0" | find /i "%process_to_check%" >nul 2>&1 && (
    echo process %process_to_check% is running 
) || (
    echo process %process_to_check% is not running 
    call abc.bat 
) 
rem wait 5 minutes 
ping localhost -n 1 -w 300000 >nul 
exit /b 

************** end of JSCRIPT COMMENT **/ 


var winmgmts = GetObject("winmgmts:\\\\.\\root\\cimv2"); 
var colProcess = winmgmts.ExecQuery("Select * from Win32_Process"); 
var processes = new Enumerator(colProcess); 
for (;!processes.atEnd();processes.moveNext()) { 
    var process=processes.item(); 
    WScript.Echo(process.processID + " " + process.Name); 
} 
相關問題