标题: [其他] BAT批处理如何自动检测运行程序? [打印本页]
作者: gxinglei 时间: 2013-12-29 21:02 标题: BAT批处理如何自动检测运行程序?
- @echo off
- set closetime=360
- wmic process>task.txt
- type task.txt |find "mftp.exe"&
- if errorlevel 1 goto start
- if errorlevel 0 goto start1
-
- :start
- start mftp.exe
-
- :start1
- wmic&process.bat
复制代码
每隔360秒自动检测系统进程中是否有mftp.exe进程的存在,如果有360秒后再继续检测,如果没有,则自动打开mftp.exe这个进程
我的mftp.exe这个进程文件名也是mftp.exe
谢谢各位了!!!
作者: gxinglei 时间: 2013-12-29 21:03
在线等。。。。。。。。。。。。。。。。。。。。
作者: gxinglei 时间: 2013-12-29 21:04
我自己测试过,如果不存在mftp.exe的话会自动运行,可是如果不存在的话他不会自动360秒后重新检测。
作者: binghejin 时间: 2013-12-29 21:09
if "errorlevel"==0 goto
goto
把errorlevel加上引号试试!
作者: gxinglei 时间: 2013-12-29 21:23
嗯嗯,我是新手,还望多指点!
作者: gxinglei 时间: 2013-12-29 21:27
加了直接不行的,直接不对呀。虽然不行,但是还是要谢谢您的热心哦!
作者: gxinglei 时间: 2013-12-29 21:53
高手们,咱不发挥一下你们的才华,指点一下小弟呢?
作者: lifei259 时间: 2013-12-29 22:43
本帖最后由 lifei259 于 2013-12-30 02:48 编辑
- @echo off
- wmic process>task.txt 2>&1
- findstr /i "mftp.exe" "task.txt"
- if errorlevel 1 goto start
- ping -n 360 127.1>nul
- %0
-
- :start
- start mftp.exe
- %0
复制代码
作者: gxinglei 时间: 2013-12-29 23:17
不行的,mftp.EXE不断的在运行。我的目的是要不停的检测mftp.exe是否在运行,如果在运行的话就继续检测,如果不在运行的话就运行mftp.exe
麻烦大侠帮我搞定一下。
作者: gxinglei 时间: 2013-12-29 23:19
主要是要每隔360秒运行一次和 if errorlevel 1 这一点搞不明白,望高手指点。
作者: gxinglei 时间: 2013-12-29 23:24
回复 8# lifei259
谢谢你的回复,但是还是不行,mftp.exe程序在不断的运行,我的目的是只要 cmd每隔360秒检测一次,如果mftp.exe在运行的话就隔360秒再检测,如果mftp.exe没有在运行的话就启动mftp.exe 望大侠指点指点。我是新手,望谅解。
作者: lifei259 时间: 2013-12-30 02:40
- @echo off
- tasklist|findstr /i "mftp.exe"
- if errorlevel 1 goto start
- ping -n 360 127.1>nul
- %0
-
- :start
- start mftp.exe
- %0
复制代码
作者: gxinglei 时间: 2014-1-9 23:24
谢谢,可以了,但是调用文件要手动选择参数,有点烦。虽然我没成功,但是学到了不少东西,谢谢您!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |