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

  为什么这个不行呢?
CODE:  [Copy to clipboard]
Taskkill /im notepad.exe >nul 2>nul

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




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5