如果未运行,则运行检查进程的批处理文件运行批处理文件Windows 10

时间:2018-02-19 00:44:21

标签: batch-file

Windows 10如果进程未运行,我似乎无法获取批处理文件以激活第二个批处理文件。第一部分工作正常,调用第二批文件被破坏。我试着打电话,我试过%~dp0,就像这样:%~dp0MyProgram.bat

@echo off
:start
cls
set proc=zm.exe
set runme=c:\ZM\zcash.bat
set time=30

tasklist /FI "IMAGENAME eq %proc%" 2>NUL | find /I /N "%proc%">NUL
if "%ERRORLEVEL%"=="0" (
echo Everything is OK 
timeout /t %time%
goto :start ) || (
echo ERROR! restarting service
taskkill /IM "%proc%" /F
else (start "" "%runme%")
)
timeout /t %time%
goto :start

1 个答案:

答案 0 :(得分:0)

尽管您已经尝试过,但您应该使用Call,因为您希望在完成后返回相同的脚本。

这样的事情对你有用吗?

@Echo off
Set "proc=zm.exe"
Set "runme=C:\ZM\zcash.bat"
Set "secs=30"

:Loop
ClS
TaskList | FindStr /I "\<%proc%\>" >Nul && (Echo Everything is OK) || (
    Echo ERROR! starting service
    Call "%runme%")
Timeout %secs% /NoBreak >Nul
GoTo Loop

注意:我将变量名称更改为%secs%,因为%TIME%已经是已定义的系统变量。