标题: [文本处理] 2个批处理合并成一个运行 [打印本页]
作者: sxp3468 时间: 2017-3-11 19:20 标题: 2个批处理合并成一个运行
本帖最后由 sxp3468 于 2017-3-11 19:26 编辑
有两个独立的批处理,想把它合并在一起,互不影响先后循环执行。新手求助如何合并成一个?
第一个:(每隔一段时间检测StudentMain.exe,若不存在,则启动它)- :RESTART
- tasklist /FI "username eq administrator" | find /C "StudentMain.exe" > temp.txt
- set /p num= < temp.txt
- del /F temp.txt
- echo %num%
- if "%num%" == "0" start /D "C:\Program Files (x86)\Mythware\极域课堂管理系统软件V6.0 2016 豪华版\" StudentMain.exe
- ping -n 30 -w 2000 0.0.0.1 > temp.txt
- del /F temp.txt
- goto RESTART
复制代码
第二个:(每隔一段时间检测WerFault.exe,若出现立即结束StudentMain.exe )- @echo off
- :start
- rem
- ping 127.0.0.1 -n 20>nul
- tasklist|find /i "WerFault.exe"&&goto kill
- goto start
- :kill
- taskkill /im StudentMain.exe /f
- goto start
复制代码
作者: GNU 时间: 2017-3-11 20:37
- :RESTART
- tasklist /FI "username eq administrator" | find /C "StudentMain.exe" > temp.txt
- set /p num= < temp.txt
- echo %num%
- if "%num%" == "0" start /D "C:\Program Files (x86)\Mythware\极域课堂管理系统软件V6.0 2016 豪华版\" StudentMain.exe
- taskkill /im StudentMain.exe /f 2>nul
- ping -n 30 -w 2000 0.0.0.1 > temp.txt
- goto RESTART
复制代码
作者: sxp3468 时间: 2017-3-11 21:24
回复 2# GNU
没有 检测WerFault.exe进程了?
作者: ygqiang 时间: 2017-3-11 21:52
回复 3# sxp3468
2楼第6行修改为:- tasklist|find /i "WerFault.exe"&&goto kill
- goto RESTART
- :kill
- taskkill /im StudentMain.exe /f
复制代码
作者: GNU 时间: 2017-3-12 10:56
回复 3# sxp3468
在逻辑上,你那个检测是多余的,反正都要杀掉,没有必要做那个判断。
作者: sxp3468 时间: 2017-3-12 12:10
本帖最后由 sxp3468 于 2017-3-12 12:12 编辑
回复 sxp3468
在逻辑上,你那个检测是多余的,反正都要杀掉,没有必要做那个判断。
GNU 发表于 2017-3-12 10:56
事情是这么回事:机房极域有问题 老是出错,脱离教师端失去控制, 我的想法是,检测到退出极域进程后重新启动它 恢复正常; 但实际操作中发现,极域出错时,会跳出windows错误报告(WerFault.exe),如果此时不手动退出这个错误报告对话框,极域就假死,进程依然还在,事实已脱离教师端失去控制,必须结束极域进程后才能再次检测重启极域程序,连上教师端。
多谢两位热心帮助,等上班后去试验一下,再来汇报。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |