![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 12:10 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理只结束相同进程中的一个 |
| 可打印版本 1,208 / 12 |
| 第1楼 abczxc | 发表于 2007-04-30 10:39 |
| 初级用户 发帖 53 积分 135 | |
|
批处理只结束相同进程中的一个 @echo off
for /f "tokens=1,2" %%i in ('tasklist') do ( echo %%i | findstr /i "notepad.exe" 1>nul 2>nul && ( ntsd -c q -p %%j & set qq=%%i ) ) if /i not "%qq%"=="notepad.exe" echo ~~~~~~没看到该程序~~~~~~~ echo. pause notepad.exe 只是一个例子 现在的情况是C:\WINDOWS\system32\svchost.exe是正常的程序, 但也有个 C:\WINDOWS\\svchost.exe坏程序 很显然上面的代码不行了,谁能给一个能只结束相同进程中一个的 批处理我,脚本也行 [ Last edited by abczxc on 2008-4-25 at 04:38 PM ] |
|
| 第2楼 lxmxn | 发表于 2007-04-30 10:52 |
| 版主 发帖 4,938 积分 11,386 | |
|
直接根据路径杀掉不就可以了吗?
搜索 wmic 。 |
|
| 第3楼 bingxiao20 | 发表于 2007-04-30 10:56 |
| 初级用户 发帖 31 积分 68 | |
|
根据PID进程号查杀应该好点吧 也简单点
|
|
| 第4楼 youxi01 | 发表于 2007-04-30 11:07 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
Originally posted by bingxiao20 at 2007-4-30 10:56 AM: 应该做不到:如何去判断 坏程序的PID号? 还是斑竹的办法好点,用WMIC取得该程序的路径,如何不符合设定,就干掉它 |
|
| 第5楼 baomaboy | 发表于 2007-04-30 11:11 |
| 银牌会员 发帖 554 积分 1,513 | |
| 第6楼 bingxiao20 | 发表于 2007-04-30 11:53 |
| 初级用户 发帖 31 积分 68 | |
Originally posted by baomaboy at 2007-4-29 10:11 PM: |
|
| 第7楼 youxi01 | 发表于 2007-04-30 12:52 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
Originally posted by baomaboy at 2007-4-30 11:11 AM: |
|
| 第8楼 baomaboy | 发表于 2007-04-30 13:24 |
| 银牌会员 发帖 554 积分 1,513 | |
Originally posted by youxi01 at 2007-4-30 12:52: 最初我也用N的,后来一直只用是EmEditor了。 呵呵 没用过专门的软件呢还,如果用了也许结构不至于那么差了,写一个东西我总是是想到哪写到哪,所以有时为了个忽然想到的功能块或错误处理而随意改变程序的结构。另外我在 管理”新建“菜单中的文件类型→VBS版 9楼中 说:
|
|
| 第9楼 abczxc | 发表于 2007-04-30 21:25 |
| 初级用户 发帖 53 积分 135 | |
|
Dim WshSHell
Set WshSHell = WScript.CreateObject("WScript.Shell") for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ if ps.executablepath="C:\WINDOWS\system32\syx\syy\syz\sss\s.exe" then WshSHell.Run ("ntsd -c q -p "&ps.handle),vbHide end if next Set WshSHell = Nothing WScript.Quit(0) 楼上的vbs真不错,但是我电脑上面有些程序用这个结束不了啊 如 C:\WINDOWS\system32\syx\syy\syz\sss\s.exe 这个程序就结束不了,这是怎么回事? |
|
| 第10楼 abczxc | 发表于 2007-04-30 21:37 |
| 初级用户 发帖 53 积分 135 | |
|
还是搞清楚了,baomaboy写的这个脚本真好。谢谢啊
原来是路径搞错了,用mt -pslist看了一下好了 |
|
| 第11楼 abczxc | 发表于 2007-05-01 18:10 |
| 初级用户 发帖 53 积分 135 | |
|
有不有同样功能的bat呀
wmic是怎么,谁举个例子吧 |
|
| 第12楼 baomaboy | 发表于 2007-05-02 21:14 |
| 银牌会员 发帖 554 积分 1,513 | |
|
To abczxc
帖子的问题直接回原贴就可以了,UCase函数与组合次数无关。 |
|
| 第13楼 baomaboy | 发表于 2007-05-02 21:21 |
| 银牌会员 发帖 554 积分 1,513 | |
|
这个例子是带删除文件的 搜索路径查杀进程
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |