中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【分享】改良版的软件监控处理(本人处女作,不要笑)!
作者:
标题: 【分享】改良版的软件监控处理(本人处女作,不要笑)! 上一主题 | 下一主题
zcyzzzm
初级用户





积分 36
发帖 14
注册 2008-10-13
状态 离线
『楼 主』:  【分享】改良版的软件监控处理(本人处女作,不要笑)!

初学批处理,搜索到了这个论坛,发现批处理简单的代码还能完成那么多的功能,有点痴迷了,呵呵,我做的第一个处理文件,贴出来大家分析一下,希望大家能够指导一下,进一步改良。。。衷心和大家交朋友。。。。
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::作用:批处理监控软件是否打开,如果关闭了则打开它::::::::::::::::::::::::::::
:::::::::::::::::::一定要注意不能将更新软件和批处理文件的目录名称带“空格”等::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@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


   此帖被 +4 点积分     点击查看详情   
评分人:【 HAT 分数: +4  时间:2008-10-14 23:11




【舒城吧】
2008-10-14 22:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

只保留第一个@echo off,其他的@和echo off全部删除。
遇到带有空格的目录,加上双引号即可。

建议多看基础教程,更快提到自己的水平。
Good luck!

  Quote:
批处理的教学
http://www.cn-dos.net/forum/viewthread.php?tid=2338

批处理最完整人性化教程
http://www.cn-dos.net/forum/viewthread.php?tid=18482

批处理新手FAQ整理
http://www.cn-dos.net/forum/viewthread.php?tid=34049

中国DOS联盟批处理室经典帖子合集
http://www.cn-dos.net/forum/viewthread.php?tid=31551





2008-10-14 22:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zcyzzzm
初级用户





积分 36
发帖 14
注册 2008-10-13
状态 离线
『第 3 楼』:  

谢谢,我会继续努力,。。。。



【舒城吧】
2008-10-14 23:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccily2701
初级用户





积分 80
发帖 45
注册 2006-9-22
来自 jiangxi
状态 离线
『第 4 楼』:  

好贴咋就没人顶呢.....我顶....     



学习了.

2008-10-15 09:58
查看资料  发送邮件  发短消息 网志  OICQ (27012508)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: