检查运行.bat文件

时间:2018-04-18 18:50:20

标签: batch-file

我需要一直在PC上运行.bat文件,每8小时输出一次数据。

我想要构建的.bat文件会每小时检查另一个tasklist文件是否正在运行,如果没有启动它。

我知道.bat找不到WINDOWTITLE个文件,这就是我使用ERRORLEVEL的原因。

我假设1 = tasklist /FI "WINDOWTITLE eq Export" if errorlevel=0 START C:\ExportApps\Export.bat TIMEOUT /T 3600 GOTO LOOP 表示测试失败。

我已经环顾了很多,最好的我想出的是这个,但它不起作用。

.bat

当它第二次检查时,它会启动ERRORLEVEL文件的另一个实例。

如果我将1更改为{{1}},我会收到以下内容:

  

信息:没有正在运行的任务符合指定的条件。

1 个答案:

答案 0 :(得分:0)

没有发现时,

tasklist没有将errorlevel设置为1。 (Ab)使用find来获得正确的错误级别:

tasklist /fi "windowtitle eq Export"   | find /c "cmd.exe"   1>nul  && exit /b
REM code for restarting

安排它每小时运行一次(或者考虑Compo的建议来安排主要批处理文件,当它实际上 没有因某种原因而一直运行时)。