中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 已解决! "找不到a.exe进程则启动这个a.exe的程序"
作者:
标题: 已解决! "找不到a.exe进程则启动这个a.exe的程序" 上一主题 | 下一主题
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『楼 主』:  已解决! "找不到a.exe进程则启动这个a.exe的程序"

写一个 bat 并运行
要能判断 当前进程有没有 a.exe
如果有就算了
如果没有,就运行a.exe
怎么写啊??
晕死了,写了几次都不会.
  我这样写的。。。。



for  %%a in (tasklist/NH) do %%a>1.txt
type 1.txt | if not find "a.exe"
a.exe

--------------------------------------------
问题已完美解决,感谢老大的帮助.
youxi01,代码如下:
tasklist /NH |FIND "QQ">nul && echo QQ.exe已经存在! ||"E:\Program
Files\Tencent\QQ\CoralQQ.exe"

[ Last edited by huzixuan on 2006-11-7 at 06:33 AM ]

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

batch fan


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

  只通过 find 来查询,结果有可能不准确,比如:假设有QQ1.exe、QQQQ.exe……之类的进程。最好通过findstr正则表达式或者 for 语句中的 "%%i"=="QQ.exe" 格式来精确匹配。



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




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 3 楼』:  

不会哎!
你把全部的写写,偶看看并抄抄.
最后就谢谢了.

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

batch fan


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

  帖一段代码,请自行揣摩(若要严格匹配大小写,请把 if 后的 /i 去掉):
@echo off
for /f "skip=1" %%i in ('tasklist /nh') do if /i "%%i"=="QQ.exe" goto succeed
echo 没有找到名为 QQ.exe 的进程
pause>nul
goto :eof

:succeed
echo 找到了名为 QQ.exe 的进程
pause>nul




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




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 5 楼』:  

哦,好
谢斑竹
3Q唯蕊马吃

2006-11-7 23:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: