Board logo

标题: 判断某个进程不存在就运行 [打印本页]

作者: bbq123bbq     时间: 2007-1-4 07:27    标题: 判断某个进程不存在就运行

判定进程里有QQ.EXE进程就不做操作,要是进程里没有QQ.EXE进程就自动运行QQ..
for /f "tokens=1" %%a in ('tasklist ^|findstr /i QQ.exe') do
后面的判断进程要怎样写??
作者: lxmxn     时间: 2007-1-4 07:49

tasklist | find /i "qq.exe" >nul 2>nul || echo start "" <qq.exe的全路径>

作者: bbq123bbq     时间: 2007-1-4 10:18
测试不成功??QQ不能自动运行
作者: bbq123bbq     时间: 2007-1-4 10:26
tasklist | find /i "qq.exe" >nul 2>nul || start F:\QQ2006\QQ.exe 就可以测试成功
作者: dikex     时间: 2007-1-4 10:35
2楼的多了一个echo……………………
把4楼的start之后修改一些,这样即使qq的目录有空格也没有问题
tasklist | find /i "qq.exe" >nul 2>nul || start "" "F:\QQ2006\QQ.exe"
作者: lxmxn     时间: 2007-1-4 13:53

  不知道怎么地,专门出现这些小错误,哎。。。。

作者: lxmxn     时间: 2007-1-4 13:58

tasklist | find /i "qq.exe" >nul 2>nul || start "" <qq.exe的全路径>

作者: 429499381     时间: 2007-1-4 17:49    标题: 为什么没有判断语句就能知道有没有运行QQ!!



  Quote:
Originally posted by lxmxn at 2007-1-4 12:58 AM:

tasklist | find /i "qq.exe" >nul 2>nul || start "" <qq.exe的全路径>

我测试了好多遍, 怎么也不明白,
tasklist | find /i "qq.exe" || start " " "C:\Program Files\tencent\qq\QQ.exe"
是什么意思.
start后面" " 是什么目的??
tasklist | find /i "qq.exe" 分离运行为什么没有结果, 怎么也看不出来有判断语句啊!!!
作者: amao     时间: 2007-1-4 23:21
|| 这两个杠杠就是判断啊。如前面失败就执行两个杠杠后面的命令。如成功就不执行。
start后面" " ,5楼已经说了啊。

[ Last edited by amao on 2007-1-4 at 11:26 PM ]
作者: 429499381     时间: 2007-1-17 19:42    标题: 谢谢

我知道了,几天没看这个帖子, 发现我自己进步不少, 自己当初问得好纱
作者: lxmxn     时间: 2007-1-18 03:03

  呵呵,恭喜学到东西了。

  另外,还有一个命令连接符号,是 && ,意思是前面的命令执行成功之后才执行后面的命令。

作者: luowei14     时间: 2007-1-18 04:15
for /f "tokens=1" %%a in ('tasklist ^|findstr /i QQ.exe') do tasklist | find /i "qq.exe" >nul 2>nul || start "" "e:\2006\QQ.exe"

测试不成功 是不是我哪出错了 哪位给看看
作者: everest79     时间: 2007-1-18 04:35
tasklist | find /i "qq.exe" >nul 2>nul || start "" "e:\2006\QQ.exe"
执行这一句就行了,不用FOR
作者: hxuan999     时间: 2007-1-18 05:14
2>nul 这里的2是什么意思呀.我见过好几次这样的用法???
作者: everest79     时间: 2007-1-18 07:12
屏蔽错误输出至窗口
作者: hxuan999     时间: 2007-1-19 10:19
找到了下面两个贴子.关于句柄的.

复制句柄不懂!指点一下!!!
请高手解释一下关于句柄输出的问题

呵呵