请教大家:我想写一个批处理,循环的检测应用程序是否飞掉,记录程序名,飞掉时间,并自动重启它,现在有几个问题向大家求助:
1、为什么程序不会遍历AppList.ini,也就是现在的程序只会检测 FoxMail.exe,而不会检测QQ.exe的状态,并重启。
2、怎么替换现在命令中的 常量 “Foxmail.exe” 字符,替换成 %%i 才是正确的吧。
3、现在程序在异常时,只记录了时间,有没有办法纪录其它的关键信息(内存,CPU,,,)- @echo off
- :1
- tasklist /nh>Tasklist.txt
- for /f "delims= tokens=1" %%i in (AppList.ini) do (
- find /i "%%i" Tasklist.txt
- if ERRORLEVEL 1 (goto _T) else (goto _E)
- :_T
- echo foxmail.exe %date:~0,11%%time:~0,5%>>AppTime.txt
- start /min foxmail.exe.lnk
- :_E
- echo >nul
- )
- ping 127.1 -n 5 >nul 2>nul
- goto 1
- ::AppList.ini 样式:foxmail.exe 换行 qq.exe
复制代码
|