中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 03:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 判断某个进程不存在就运行 查看 2,642 回复 15
楼 主 判断某个进程不存在就运行 发表于 2007-01-04 07:27 ·  中国 广东 广州 花都区新华镇 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
判定进程里有QQ.EXE进程就不做操作,要是进程里没有QQ.EXE进程就自动运行QQ..
for /f "tokens=1" %%a in ('tasklist ^|findstr /i QQ.exe') do
后面的判断进程要怎样写??
2 发表于 2007-01-04 07:49 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

tasklist | find /i "qq.exe" >nul 2>nul || echo start "" <qq.exe的全路径>
3 发表于 2007-01-04 10:18 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
测试不成功??QQ不能自动运行
4 发表于 2007-01-04 10:26 ·  中国 广东 广州 花都区 电信
初级用户
★★
积分 197
发帖 77
注册 2006-09-19 14:02
19年会员
UID 63074
性别 男
状态 离线
tasklist | find /i "qq.exe" >nul 2>nul || start F:\QQ2006\QQ.exe 就可以测试成功
5 发表于 2007-01-04 10:35 ·  中国 广东 广州 天河区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
19年会员
UID 75048
性别 男
状态 离线
2楼的多了一个echo……………………
把4楼的start之后修改一些,这样即使qq的目录有空格也没有问题
tasklist | find /i "qq.exe" >nul 2>nul || start "" "F:\QQ2006\QQ.exe"
6 发表于 2007-01-04 13:53 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  不知道怎么地,专门出现这些小错误,哎。。。。
7 发表于 2007-01-04 13:58 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

tasklist | find /i "qq.exe" >nul 2>nul || start "" <qq.exe的全路径>
8 为什么没有判断语句就能知道有没有运行QQ!! 发表于 2007-01-04 17:49 ·  中国 湖北 武汉 电信
中级用户
★★
积分 452
发帖 202
注册 2006-12-21 13:46
19年会员
UID 74161
性别 女
状态 离线
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" 分离运行为什么没有结果, 怎么也看不出来有判断语句啊!!!
9 发表于 2007-01-04 23:21 ·  美国 缅因州
中级用户
★★
积分 316
发帖 152
注册 2006-06-18 13:01
20年会员
UID 57204
性别 男
状态 离线
|| 这两个杠杠就是判断啊。如前面失败就执行两个杠杠后面的命令。如成功就不执行。
start后面" " ,5楼已经说了啊。

[ Last edited by amao on 2007-1-4 at 11:26 PM ]
10 谢谢 发表于 2007-01-17 19:42 ·  中国 湖北 武汉 电信
中级用户
★★
积分 452
发帖 202
注册 2006-12-21 13:46
19年会员
UID 74161
性别 女
状态 离线
我知道了,几天没看这个帖子, 发现我自己进步不少, 自己当初问得好纱
11 发表于 2007-01-18 03:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  呵呵,恭喜学到东西了。

  另外,还有一个命令连接符号,是 && ,意思是前面的命令执行成功之后才执行后面的命令。
12 发表于 2007-01-18 04:15 ·  中国 江西 南昌 电信
初级用户
★★
积分 193
发帖 98
注册 2007-01-17 11:56
19年会员
UID 76803
性别 男
状态 离线
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"

测试不成功 是不是我哪出错了 哪位给看看
13 发表于 2007-01-18 04:35 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
tasklist | find /i "qq.exe" >nul 2>nul || start "" "e:\2006\QQ.exe"
执行这一句就行了,不用FOR
14 发表于 2007-01-18 05:14
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
2>nul 这里的2是什么意思呀.我见过好几次这样的用法???
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
15 发表于 2007-01-18 07:12 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
屏蔽错误输出至窗口
论坛跳转: