中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 20:33
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 前辈进来看一下这问题怎么解决(己经解决..谢谢大家) 查看 859 回复 5
楼 主 前辈进来看一下这问题怎么解决(己经解决..谢谢大家) 发表于 2006-12-27 15:09 ·  中国 湖北 武汉 电信
初级用户
积分 40
发帖 14
注册 2006-12-27 11:38
19年会员
UID 74713
性别 男
状态 离线
我想做个批处理,实现下面的效果:

用tasklist命令查看当前进程后,
如果发现notepad.exe进程则杀掉它,
如果没发现notepad.exe进程则不做任何动作。

请问,能实现吗?
请把代码列在下面。谢谢啦。

[ Last edited by rochan on 2006-12-27 at 06:33 PM ]
2 发表于 2006-12-27 23:08 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 34
发帖 13
注册 2006-12-10 22:21
19年会员
UID 73132
性别 男
状态 离线
taskkill /f /im "notepad.exe"
3 发表于 2006-12-28 03:57 ·  中国 湖北 武汉 电信
初级用户
积分 40
发帖 14
注册 2006-12-27 11:38
19年会员
UID 74713
性别 男
状态 离线
谢谢二楼..不过这不合我的要求.
只用这个命令的话.如果有 他会 提示 成功结束 XXX 进程 ID 为 XXX

但如果没有 他会 返回 "没有找到 notepad.exe 进程" 的错误提示...

我想要 的是 不论有没有这个进程..不论结束成功还是不成功...都是悄悄进行的..在DOS窗口中不返回任何文字 ...(除重定向 >nul 方法外..这个我也试了在这个命令中不能用..)

谢谢 .
4 自己以经找出思路了.不用回答了.谢谢 发表于 2006-12-28 05:47 ·  中国 湖北 武汉 电信
初级用户
积分 40
发帖 14
注册 2006-12-27 11:38
19年会员
UID 74713
性别 男
状态 离线
可以先用 tasklist >bb.txt 将进程列表列到 一个 文本文件中..
再在 bb.txt 文件中寻找 notepad.exe 字符串..并将它赋值 到 X 变量中..

然后再 判断 "A%X%A" 与 "AA" 是否相等....相等 就 证明 notepad.exe 这个进程不存在....不相等 就证明 进程存在....

思路大概就是这样..不过命令 我还不会...只有再找...

要是 有前辈会的 ..可以 跟贴 写出来....谢谢 ....!!!
5 发表于 2006-12-28 06:23 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  为什么这个不行呢?

Taskkill /im notepad.exe >nul 2>nul
6 发表于 2006-12-28 07:32 ·  中国 湖北 武汉 电信
初级用户
积分 40
发帖 14
注册 2006-12-27 11:38
19年会员
UID 74713
性别 男
状态 离线
谢谢楼上....
比我发的快..呵呵...
加个参数就解决了...
taskkill /f /im notepad.exe >nul: 2>&1
谢谢大家了....
帖可以结了...
论坛跳转: