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

[系统相关] 【已解决】批处理如何检测多个进程再进行下一步?

本帖最后由 小智BAT 于 2014-10-16 14:14 编辑

如题。以下是检测360没退出而提示的,但我需要检测除360外,还需要检测ksafetray.exe,kxetray.exe
,QQPCTray.exe等是否运行,运行就提示对应的进程,如果全部不运行才可以进行下一步,该写。
  1. :daxfsddo
  2. cls
  3. color 4f
  4. tasklist /nh|find /i "360tray.exe" >nul
  5. if ERRORLEVEL 1 (goto daxfsddonext) else (echo 检测到360安全软件没有退出,请先退出“360安全卫士”和“360杀毒”再按任意键重试。)
  6. pause >nul&goto daxfsddo
  7. :daxfsddonext
复制代码

本帖最后由 apang 于 2014-10-14 18:54 编辑

如果进程名不含空格的话,也可以这样
  1. @echo off & setlocal enabledelayedexpansion
  2. set "explorer.exe=资源管理器"
  3. set "Iexplore.exe=IE"
  4. set "NotePad.exe=记事本"
  5. set "re=explorer.exe Iexplore.exe NotePad.exe "
  6. (for /f %%a in ('tasklist^|findstr /ib "%re: =\> %"') do (
  7.         echo,%%a 杀死 !%%a!
  8. ))||echo,Next
  9. pause
复制代码

TOP

回复 8# DAIC


    多谢大大。。。。

TOP

  1. @echo off
  2. :daxfsddo
  3. cls
  4. color 4f
  5. set n=0
  6. tasklist /nh | find /i "360tray.exe" >nul && echo 360tray.exe && set n=1
  7. tasklist /nh | find /i "ksafetray" >nul && echo ksafetray.exe && set n=1
  8. tasklist /nh | find /i "kxetray.exe" >nul && echo kxetray.exe && set n=1
  9. tasklist /nh | find /i "QQPCTray.exe" >nul && echo QQPCTray.exe && set n=1
  10. if %n% neq 0 (
  11.     echo 请先退出以上程序再按任意键重试
  12.     pause
  13.     goto :daxfsddo
  14. )
  15. :daxfsddonext
  16. echo 下一步
  17. pause
复制代码
1

评分人数

TOP

回复 5# DAIC


    我要的是检测到两个进程要同时提示两个进程存在。

TOP

回复 5# DAIC


    你把中一个改为常用进程,如cmd.exe和QQ.exe,你运行时退出任意一个再按任意键就知道什么情况。

TOP

回复 4# 小智BAT


    2楼那个代码,你想显示什么就把echo后面改成什么。

TOP

回复 3# DAIC

请问可以定义提示退出什么进程是文字显示模式吗?,如检测到QQPCTray.exe就提示请退出电脑管家。

如有360tray.exe就提示请退出360安全软件,

如发现多个进程共存时,则提示多个对应的提示语。

TOP

  1. @echo off
  2. :daxfsddo
  3. cls
  4. color 4f
  5. for %%i in (360tray.exe ksafetray.exe kxetray.exe QQPCTray.exe) do (
  6.     tasklist /nh | find /i "%%i" >nul && echo 请先退出 %%i 再按任意键重试 && pause && goto :daxfsddo
  7. )
  8. :daxfsddonext
  9. echo 下一步
  10. pause
复制代码

TOP

本帖最后由 DAIC 于 2014-10-14 10:55 编辑
  1. @echo off
  2. :daxfsddo
  3. cls
  4. color 4f
  5. tasklist /nh | find /i "360tray.exe" >nul && echo 请先退出 360tray.exe 再按任意键重试 && pause && goto :daxfsddo
  6. tasklist /nh | find /i "ksafetray.exe" >nul && echo 请先退出 ksafetray.exe 再按任意键重试 && pause && goto :daxfsddo
  7. tasklist /nh | find /i "kxetray.exe" >nul && echo 请先退出 kxetray.exe 再按任意键重试 && pause && goto :daxfsddo
  8. tasklist /nh | find /i "QQPCTray.exe" >nul && echo 请先退出 QQPCTray.exe 再按任意键重试 && pause && goto :daxfsddo
  9. :daxfsddonext
  10. echo 下一步
  11. pause
复制代码

TOP

返回列表