Board logo

标题: 已解决! "找不到a.exe进程则启动这个a.exe的程序" [打印本页]

作者: huzixuan     时间: 2006-11-7 05:47    标题: 已解决! "找不到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 ]
作者: namejm     时间: 2006-11-7 06:58
  只通过 find 来查询,结果有可能不准确,比如:假设有QQ1.exe、QQQQ.exe……之类的进程。最好通过findstr正则表达式或者 for 语句中的 "%%i"=="QQ.exe" 格式来精确匹配。
作者: huzixuan     时间: 2006-11-7 08:11
不会哎!
你把全部的写写,偶看看并抄抄.
最后就谢谢了.
作者: namejm     时间: 2006-11-7 08:38
  帖一段代码,请自行揣摩(若要严格匹配大小写,请把 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

作者: huzixuan     时间: 2006-11-7 23:44
哦,好
谢斑竹
3Q唯蕊马吃