Board logo

标题: 前辈进来看一下这问题怎么解决(己经解决..谢谢大家) [打印本页]

作者: rochan     时间: 2006-12-27 15:09    标题: 前辈进来看一下这问题怎么解决(己经解决..谢谢大家)
我想做个批处理,实现下面的效果:

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

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

Last edited by rochan on 2006-12-27 at 06:33 PM ]

作者: hudisk     时间: 2006-12-27 23:08
taskkill /f /im "notepad.exe"

作者: rochan     时间: 2006-12-28 03:57
谢谢二楼..不过这不合我的要求.
只用这个命令的话.如果有 他会 提示 成功结束 XXX 进程 ID 为 XXX

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

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

谢谢 .

作者: rochan     时间: 2006-12-28 05:47    标题: 自己以经找出思路了.不用回答了.谢谢
可以先用 tasklist >bb.txt 将进程列表列到 一个 文本文件中..
再在 bb.txt 文件中寻找 notepad.exe 字符串..并将它赋值 到 X 变量中..

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

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

要是 有前辈会的 ..可以 跟贴 写出来....谢谢 ....!!!

作者: lxmxn     时间: 2006-12-28 06:23

  为什么这个不行呢?

Taskkill /im notepad.exe >nul 2>nul

作者: rochan     时间: 2006-12-28 07:32
谢谢楼上....
比我发的快..呵呵...
加个参数就解决了...
taskkill /f /im notepad.exe >nul: 2>&1
谢谢大家了....
帖可以结了...