批处理命令
@echo off set _svr=C:\Windows\notepad.exe set _des=start.bat :checkstart tasklist /FI "username eq administrator" | find /C "notepad.exe" > temp.txt set /p num=<temp.txt del /f temp.txt echo %num% if %num%==0 ( echo "no process start " goto startsvr)else ( echo "checking " goto checkag) :startsvr echo %time% echo ********程序开始启动******** echo 程序重新启动于 %time% ,请检查系统日志 >> restart.txt echo call %_svr% > %_des% echo exit >> %_des% start %_des% set/p=.<nul for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul echo . echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs cscript //b //nologo %tmp%\delay.vbs 20000 del %_des% /Q echo ********程序启动完成******** goto checkstart :checkag echo %time% 程序运行正常,10秒后继续检查.. echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs cscript //b //nologo %tmp%\delay.vbs 10000 goto checkstart将上面代码保存到guard.cmd文件
如果不想显示守护进程页面可使用vb隐藏
createobject("wscript.shell").run "guard.cmd",0 rem 0 表示不显示将上面代码保存为 guard.vbs文件
启动时只需点击guard.vbs