中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 这个进程如何判断为否定{已结}
作者:
标题: 这个进程如何判断为否定{已结} 上一主题 | 下一主题
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『楼 主』:  这个进程如何判断为否定{已结}

tasklist /NH |FIND "QQ">nul && echo QQ.exe已经存在! ||"E:\Program
Files\Tencent\QQ\CoralQQ.exe"

这个判断是,这运行的结果是:如果进程里面有QQ.exe 这个程序在运行!,
它就不运行 E:\Program Files\Tencent\QQ\CoralQQ.exe 这一段啦,
请问如何修改成,如果有QQ.exe这个程序在运,就运行,后面这一段呢!谢谢


[ Last edited by chainliq on 2006-11-20 at 07:59 AM ]

2006-11-19 13:25
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 2 楼』:  

tasklist /NH |FIND "QQ">nul && "E:\Program Files\Tencent\QQ\CoralQQ.exe"

有QQ这个进程再运行一次?不太懂你说什么。

2006-11-19 14:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 3 楼』:  

就是说,如果进程里面有QQ.exe这个程序在运行
就运行:start "E:\Program Files\Tencent\QQ\CoralQQ.exe"

[ Last edited by chainliq on 2006-11-19 at 04:18 PM ]

2006-11-19 14:38
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by chainliq at 2006-11-19 02:38 PM:
就是说,如果进程里面QQ.exe
就运行:start "E:\Program Files\Tencent\QQ\CoralQQ.exe"

如果进程里面QQ.exe
这个是什么意思?

2006-11-19 14:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 5 楼』:  

这样为什么不能执行呢,在2000系统下运行!
tasklist|find "chainliq.exe">nul && ||mshta javascript:alert("您好!");window.close();

就是说,如果进程里面有: chainliq.exe 存在,则运行: mshta javascript:alert("您好!");window.close();
这一段

2006-11-19 17:39
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 6 楼』:  

改成:tasklist /NH |FIND "QQ">nul && "E:\Program Files\Tencent\QQ\CoralQQ.exe" ||echo QQ还没运行!

2006-11-20 01:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 7 楼』:  

tasklist /NH |find /i "chainliq.exe" >nul&&mshta javascript:alert("您好!");window.close();

   此帖被 +3 点积分       点击查看详情   
评分人:【 chainliq 分数: +3  时间:2006-11-20 07:57


2006-11-20 03:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 8 楼』:  

  用 find 语句会因检测不严格而导致错误的结果,比如某个进程名为 abcQQ.exe 的话,用 find "QQ.exe" 则会认为找到了匹配的进程。要避免这个问题,最好在 for 语句中用 == 符号来判断,例如:
@echo off
:: if 语句可以用 /i 参数来忽略大小写
for /f %%i in ('tasklist') do if "%%i"=="QQ.exe" echo QQ.exe在运行&goto end
echo 进程中没有名为 QQ.exe 的进程

:end
pause




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-20 06:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 9 楼』:  

呵呵,问题解决啦,学习中`````谢谢各位的帮忙!

2006-11-20 07:58
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: