【问题标题】:Batch file for “if an 'exe' is not running in (task manager) then execute this task”?“如果'exe'未在(任务管理器)中运行,则执行此任务”的批处理文件?
【发布时间】:2015-10-18 13:55:22
【问题描述】:

我对批处理文件一无所知,我正在制作一个。我想编写一个批处理文件,它将在后台继续运行,它本身将处理确保“java.exe”是否正在运行,如果不是,那么它将触发其他批处理文件(说'abc.bat'

这个 'abc.batch' 设置一些参数并启动 'java.exe' 来执行这些参数。我希望这个“java.exe”继续运行,如果有人关闭它,它应该通过执行“abc.bat”立即重新启动。此外,我不想在“abc.bat”中进行更改。

如果让您感到困惑,我想为我的写作技巧道歉,并希望您澄清一下。

【问题讨论】:

标签: batch-file cmd


【解决方案1】:
@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 );
}

【讨论】:

    猜你喜欢
    • 2013-03-01
    • 2015-02-23
    • 2021-08-02
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多