Board logo

标题: 这个进程如何判断为否定{已结} [打印本页]

作者: chainliq     时间: 2006-11-19 13:25    标题: 这个进程如何判断为否定{已结}

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 ]
作者: tao0610     时间: 2006-11-19 14:17
tasklist /NH |FIND "QQ">nul && "E:\Program Files\Tencent\QQ\CoralQQ.exe"

有QQ这个进程再运行一次?不太懂你说什么。
作者: chainliq     时间: 2006-11-19 14:38
就是说,如果进程里面有QQ.exe这个程序在运行
就运行:start "E:\Program Files\Tencent\QQ\CoralQQ.exe"

[ Last edited by chainliq on 2006-11-19 at 04:18 PM ]
作者: tao0610     时间: 2006-11-19 14:49


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

如果进程里面QQ.exe
这个是什么意思?
作者: chainliq     时间: 2006-11-19 17:39
这样为什么不能执行呢,在2000系统下运行!
tasklist|find "chainliq.exe">nul && ||mshta javascript:alert("您好!");window.close();

就是说,如果进程里面有: chainliq.exe 存在,则运行: mshta javascript:alert("您好!");window.close();
这一段
作者: youxi01     时间: 2006-11-20 01:21
改成:tasklist /NH |FIND "QQ">nul && "E:\Program Files\Tencent\QQ\CoralQQ.exe" ||echo QQ还没运行!
作者: tao0610     时间: 2006-11-20 03:06
tasklist /NH |find /i "chainliq.exe" >nul&&mshta javascript:alert("您好!");window.close();
作者: namejm     时间: 2006-11-20 06:06
  用 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

作者: chainliq     时间: 2006-11-20 07:58
呵呵,问题解决啦,学习中`````谢谢各位的帮忙!