[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理BAT如何判断进程是否失败并重新运行进程?

.bat 脚本求组!!!!急

我要做一份.bat脚本

有A.B.两个进程

当A进程运行失败
判断 A.B 进程两个 都失败 , 同时,试图重新运行A,B 进程

PS:
     A,B 进程运行之前先执行 “process clean”命令初始化进程。
     然后执行A,B进程。

  1. @echo off
  2. set "ProcesA=a.exe"
  3. set "ProcesB=b.exe"
  4. set StatusA=0
  5. set StatusB=0
  6. set StatusTwo=0
  7. tasklist | findstr "\<%ProcesA%\>" || set StatusA=1
  8. tasklist | findstr "\<%ProcesB%\>" || set StatusB=1
  9. set /a StatusTwo=StatusA+StatusB
  10. if %StatusTwo% equ 2 (
  11.     process clean
  12.     start %ProcesA%
  13.     start %ProcesB%
  14. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher

我执行这个时候 , 弹出2个cmd  窗口。

能不能 句尾添加以下 ,关闭这个执行后的2个窗口呢?

TOP

回复 3# mao2mao515


最下面加一行:
  1. taskkill /f /im cmd.exe
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher

-----------------------  tbboot.bat 文件内容------------------------------   

cd C:\Tibero\tibero5\bin
start tbboot.bat -w
timeout /t 10
taskkill /F /IM wscript.exe
timeout /t 5
tasklist | find /c "tbsvr.exe" >= 0
if %ERRORLEVEL% == 0 goto case1
if %ERRORLEVEL% == 1 goto case2

:case1
exit 0

:case2
start tbdown clean
timeout -t 5
start tbboot.bat -w
timeout /t 10
taskkill /F /IM wscript.exe
exit 0
   ---------------------------------------------------tbdown.bat 文件内容 -------------------------------------------
cd C:\Tibero\tibero5\bin
start tbdown.bat -w
timeout /t 10
taskkill /F /IM wscript.exe
timeout -t 3
tasklist | find /c "tbsvr.exe" >= 0
if %ERRORLEVEL% == 0 goto case1
if %ERRORLEVEL% == 1 goto case2

:case1
timeout /t 5
taskkill /f /im tbsvr.exe
exit 0

:case2
timeout /t 10
exit 0
-------------------------------------------------clean.bat -----------------------------------------
start C:\Tibero\tibero5\bin\tbdown clean
exit 0

以上3个文件能不能用if文件来使用?就像第一次回复的那样。。。
tbsvr.exe  和  tblistener.exe 中 tbsvr.exe 进程有问题
就判断为故障。
然后先执行tbdown clean 命令之后执行 tbboot.bat 命令

啊,麻烦您的,我的头都快要爆炸了

TOP

tbboot文件用  If语句

tbdown文件用 if语句

clean.bat文件就不用了~~~

TOP

不知道你说的 以上3个文件能不能用if文件来使用 是什么意思
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher


    可能我对语法不了解
就像java的  if ,else 语句样

不用case 语句, 用 if 语句能否实现呢?

TOP

回复 8# mao2mao515


主要是不知道你想干什么
是把那3个bat文件合并成一个吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表