Board logo

标题: [其他] BAT批处理如何自动检测运行程序? [打印本页]

作者: gxinglei    时间: 2013-12-29 21:02     标题: BAT批处理如何自动检测运行程序?

  1. @echo off
  2. set closetime=360
  3. wmic process>task.txt
  4. type task.txt |find "mftp.exe"&
  5. if errorlevel 1 goto start
  6. if errorlevel 0 goto start1
  7. :start
  8. start mftp.exe
  9. :start1
  10. 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 编辑
  1. @echo off
  2. wmic process>task.txt 2>&1
  3. findstr /i "mftp.exe" "task.txt"
  4. if errorlevel 1 goto start
  5. ping -n 360 127.1>nul
  6. %0
  7. :start
  8. start mftp.exe
  9. %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

  1. @echo off
  2. tasklist|findstr /i "mftp.exe"
  3. if errorlevel 1 goto start
  4. ping -n 360 127.1>nul
  5. %0
  6. :start
  7. start mftp.exe
  8. %0
复制代码

作者: gxinglei    时间: 2014-1-9 23:24

谢谢,可以了,但是调用文件要手动选择参数,有点烦。虽然我没成功,但是学到了不少东西,谢谢您!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2