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

[其他] 一个判断进程是否存在的批处理的求助

运行c:\soft\ok.exe

判断进程是否存在OK.EXE  如果存在则等待,如果不存在了则继续运行后面的

运行c:\soft\soft.exe

判断进程是否存在soft.EXE  如果存在则等待,如果不存在了则继续运行后面的

这个实在不会写 清大家帮帮忙哈

下面是我原本的脚本
  1. @echo off
  2. ping 127.0.0.1 -n 15>nul
  3. rd c:\drivers /s /q
  4. start "" "c:\ok.exe"
  5. ping 127.0.0.1 -n 15>nul
  6. start "" "c:\soft.exe"
  7. ping 127.0.0.1 -n 60>nul
  8. copy c:\run.bat "C:\Documents and Settings\Administrator\「开始」菜单\程序\启动"
  9. shutdown -s -t 10
  10. del c:\soft.exe
  11. del c:\ok.exe
  12. del %0
  13. exit
复制代码
看能否优化一下  水平有限,只能写出这样的简易代码  每次soft还没有运行完成就开始执行后面的了

运行c:\soft\ok.exe

判断进程是否存在OK.EXE  如果存在则等待,如果不存在了则继续运行后面的

运行c: ...
yinhaolong 发表于 2015-1-19 14:09


:wait1
    先用tasklist 输入进程列表给find ,让find找出EXE进程,如果找到,那执行下面的操作。找不到就goto
tasklist|find /i "xxxx.EXE" ||goto :start1
goto ::wait1

:start1
xxx
xx

TOP

@echo off & color 0e
:1
echo 正在查找 ok.exe 进程...
ping 127.0.0.1 -n "3">nul
tasklist /nh|find /i "ok.exe"
  if ERRORLEVEL 1 (call :2) else (
   pause & call :1
  )
:2
cls
start "" "c:\soft\soft.exe" & exit

TOP

回复 3# GAGATOSHUT


    谢谢,我放进去测试一下 刚开始学的弄批处理 好多地方搞不懂

TOP

回复 2# ygqiang


    虽然没搞太懂,还是谢谢,看懂了一点点

TOP

返回列表