中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 05:40
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » [解决] 软件不稳定 想弄条命令来检测它是否开启
可打印版本  1,158 / 13
第1楼 kennyfan 发表于 2006-09-22 08:49
中级用户 发帖 112 积分 259
[解决] 软件不稳定 想弄条命令来检测它是否开启
我有只软件挺不稳定.经常自动关闭
我想弄条批处理来检测它是否关闭 如果关闭了,要它开启
用 IF EXIST 应该可以完成吧? 但还是不知道怎么写!
还请各位老兄 老姐 帮帮忙

[ Last edited by kennyfan on 2006-9-22 at 09:57 ]
第2楼 3742668 发表于 2006-09-22 08:56
荣誉版主 发帖 718 积分 2,013

把它放到循环中即可。
第3楼 kennyfan 发表于 2006-09-22 09:03
中级用户 发帖 112 积分 259
呵呵....谢谢咯.先试试~`
第4楼 vkill 发表于 2006-09-22 09:06
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
循环太占内存,用at 好点
第5楼 kennyfan 发表于 2006-09-22 09:16
中级用户 发帖 112 积分 259
未解决 软件不稳定 想弄条命令来检测它是否开启
不行哦.用start 的话会不停弹出CMD窗口 用at怎么用? 能写出代码来吗?

[ Last edited by kennyfan on 2006-9-22 at 09:18 ]
第6楼 namejm 发表于 2006-09-22 09:34
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  3742668版主在第二楼的代码有个地方写反了,应该把&&换成||就不会不断地启动软件了。
第7楼 kennyfan 发表于 2006-09-22 09:41
中级用户 发帖 112 积分 259
将它改为|| 还是会不断跳出新的CMD窗口哦!
第8楼 pengfei 发表于 2006-09-22 09:44
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
tasklist | findstr /i "name.exe" >nul 2>nul || start "" "path\name.exe"

呵呵~ 改了下, 看可不可以!
第9楼 namejm 发表于 2006-09-22 09:46
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  可能是你的软件实在太不稳定了,刚开就退出来了吧。把start去掉再试试。或者把start语句改成 start "" "c:\program~1\xxx\xxx.exe"。
第10楼 kennyfan 发表于 2006-09-22 09:53
中级用户 发帖 112 积分 259
OK 不会重新弹出了.可是 问题又来了..关闭软件后 BAT程序也停止操作!~~晕
第11楼 kennyfan 发表于 2006-09-22 09:54
中级用户 发帖 112 积分 259
呵呵.解决了.原来自己的循环出现了问题!~
谢谢各位.!~ 如 4楼所说的的确占用了不少内存 不敢随便用 2,468K 比我那个不稳定的程序还要多,

[ Last edited by kennyfan on 2006-9-22 at 10:01 ]
第12楼 3742668 发表于 2006-09-22 10:54
荣誉版主 发帖 718 积分 2,013
3742668版主在第二楼的代码有个地方写反了,应该把&&换成||就不会不断地启动软件了。

低级错误,谢谢指正。
谢谢各位.!~ 如 4楼所说的的确占用了不少内存 不敢随便用 2,468K 比我那个不稳定的程序还要多,

其实这种事情用VBS脚本要比用批处理脚本要更适合一些:

保存上面的代码为 进程守护.vbs后运行,它的作用为如果结束cmd.exe进程,则自动启动cmd.exe,当然,前提是cmd.exe已经启动,或者可以把倒数第三行拷贝添加到第二行,则可以每次直接运行该脚本自动运行cmd.exe并进行守护。
注意:如果被守护的进程在1秒内连续被结束的话,将不会自动启动进程,如果对时间有特殊的要求可以修改 within后面的数值,单位为秒,例如within 0.1表示0.1秒,within 5表示5秒。
第13楼 kennyfan 发表于 2006-09-22 11:12
中级用户 发帖 112 积分 259
哇.有点复杂..虽然暂时看不明白不过先收下.谢谢啊!!~
第14楼 vkill 发表于 2006-09-29 01:41
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
我说的用at 是,当前bat结束的时候添加一个at ,你可以自己定义 下次 at 启动的时间,就相当于你弄个每10m 检查一次
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023