联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::作用:批处理监控软件是否打开,如果关闭了则打开它:::::::::::::::::::::::::::: :::::::::::::::::::一定要注意不能将更新软件和批处理文件的目录名称带“空格”等:::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @echo off chcp 936 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::这里设置可以进行修改,其他代码不要改变,开始::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::设置定时监控的路径(如果批处理和监控程序在同一目录,则不需要修改) set zcy_dir=%cd% ::::::::::::::::设置定时监控的程序名称 set zcy_name=悠悠网站数据更新.exe ::::::::::::::::设置定时监控的的时间间隔(单位:秒),如果为0则不重复监控(这时可以将这个批处理放到计划任务中,设置每3分钟打开一次) set zcy_miao=240 ::::::::::::::::设置监控前关闭进程的总次数(防止软件长时间开,软件死锁) set zcy_zong_cishu=30 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::这里设置可以进行修改,其他代码不要改变,结束::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @echo off @echo @echo 作用:批处理监控软件是否打开,如果关闭了则打开它 @echo setlocal enabledelayedexpansion set zcy_cishu=0 :::::::::::::::::::查看程序是否运行 :0 tasklist |find /i "%zcy_name%" if %errorlevel%==0 (goto 1) else (goto 2) exit :::::::::::::::::::程序已经运行的处理函数 :1 echo “%zcy_name%”程序正在运行! set /a zcy_cishu=%zcy_cishu%+1 set /a zcy_cishu2=%zcy_zong_cishu%-%zcy_cishu% echo 防死锁关闭%zcy_name%进程,控制总次数:%zcy_zong_cishu%,剩余次数:%zcy_cishu2% :::::::::::::::::::关闭进程 if %zcy_cishu% GEQ %zcy_zong_cishu% set zcy_cishu=0 & echo 防死锁关闭%zcy_name%进程 & ntsd -c q -pn "%zcy_name%" & ping -n 5 127.0.0.1 >nul & goto 2 if %zcy_miao%==0 (goto 10) else (goto 4) exit :::::::::::::::::::程序没有运行的处理函数 :2 echo “%zcy_name%”程序没有运行,先判断文件是否存在,然后尝试打开... if exist %zcy_dir%\%zcy_name% (goto 3) if %zcy_miao%==0 (goto 10) else (goto 4) exit :::::::::::::::::::启动程序函数 :3 start %zcy_name% if %zcy_miao%==0 (goto 10) else (goto 4) exit :::::::::::::::::::延时进入循环 :4 set zcy_ii=0 set zcy_oo=0 :::::::::::::::::::10秒显示一次 set /a zcy_jiange=10 set /a zcy_jiange2=zcy_jiange+1 echo 延时 %zcy_miao% 秒 再次监控! echo 倒计时(每%zcy_jiange%秒显示一次): echo %zcy_miao% :::::::::::::::::::延时进入循环,倒计时显示 :5 @echo off ping 127.0.0.1 -n %zcy_jiange2% >nul 2>nul set /a zcy_ii=%zcy_ii%+%zcy_jiange% set /a shu=%zcy_miao%-%zcy_ii% echo %shu% if %shu% GEQ 0 goto 5 cls goto 0 exit :::::::::::::::::::倒计时关闭函数 :10 set /a all=5 @echo 倒计时开始,窗口 %all% 秒后关闭! :time set /a h+=1 @echo %time1% set /a time1=%all%-%h% ping -n 2 127.0.0.1 >nul if %time1%=="0" goto b if %time1% gtr 0 goto time :b exit
批处理的教学 www.cn-dos.net/forum ... 批处理最完整人性化教程 www.cn-dos.net/forum ... 批处理新手FAQ整理 www.cn-dos.net/forum ... 中国DOS联盟批处理室经典帖子合集 www.cn-dos.net/forum ...