找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21300|回复: 4

[系统相关] [已解决]BAT判断两个进程同时不存在

[复制链接]
发表于 2013-8-3 21:55:31 | 显示全部楼层 |阅读模式
判断calc.exe和notepad.exe 同时不存在时,执行 EXIT

想法刚刚起步,没有什么思路,目前能想到的是
  1. tasklist | find /i "calc.exe"||set /a abc+=1
  2. tasklist | find /i "notepad.exe"||set /a abc+=1
复制代码
当abc等于2时就退出。

大家还有什么更好的思路吗?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-8-3 22:41:34 | 显示全部楼层
  1. tasklist|findstr /ib "calc.exe\> notepad.exe\>"||exit
复制代码

评分

参与人数 1技术 +1 收起 理由
pZjVa0 + 1 请你能解释一下代码的意思吗?我不太理解里面 ...

查看全部评分

 楼主| 发表于 2013-8-3 22:59:36 | 显示全部楼层
回复 2# apang


    我不太理解里面的\>是什么意思,请你能解释一下吗?谢谢。
 楼主| 发表于 2013-8-3 23:03:52 | 显示全部楼层
顺便贴上一段我刚些的代码,可能还有点问题不完善,就提供一个思路。
  1. @echo off
  2. :11
  3. for /f %%i in ("calc.exe mspaint.exe") do (
  4.     find /i "%%i"&&(set /a task=1)
  5. )

  6. if not defined task exit else echo 存在
  7. goto :11
复制代码
发表于 2013-8-4 15:16:23 | 显示全部楼层
回复 3# pZjVa0


    \> 是匹配字的结束位置。
仔细一想,cacls.exe和notepad.exe的后面不太可能出现其它字符,可以不要\>,直接 tasklist|findstr /ib "calc.exe notepad.exe"||exit 就可以了。

评分

参与人数 1技术 +1 收起 理由
pZjVa0 + 1 感谢分享

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 12:47 , Processed in 0.017873 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表