中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 23:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于关闭特定进程的批处理脚本编写 查看 1,169 回复 1
楼 主 关于关闭特定进程的批处理脚本编写 发表于 2006-08-21 02:10 ·  中国 广东 广州 越秀区 电信
新手上路
积分 6
发帖 1
注册 2006-06-05 06:45
20年会员
UID 56558
性别 男
状态 离线
@echo on

::::取得PID列表
set errorlevel=>nul
echo wscript.echo "PID ProcessName">>1.vbe
echo for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ >>1.vbe
echo wscript.echo ps.handle^&vbtab^&ps.name>>1.vbe
echo next>>1.vbe
cscript 1.vbe >D:\英雄宽频影片自动更新\list.txt

::::找到指定程序
if exist D:\英雄宽频影片自动更新\1.vbe del D:\英雄宽频影片自动更新\1.vbe
findstr /c:"taskmgr.exe" D:\英雄宽频影片自动更新\list.txt > D:\英雄宽频影片自动更新\right.txt

::::找到指定PID值
for /f %%m in (D:\英雄宽频影片自动更新\right.txt) do set pid=%%m

::::关闭指定PID进程
ntsd -c q -p %pid%


写是写出来了。但是我还想要一个开关。。
就如在进程里如果没有taskmgr.exe的话,我就想让程序跳出,如果有就结束。。

望各位指点一二,谢谢。
2 发表于 2006-08-22 23:56 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  把tasklist|find "taskmgr.exe" && taskkill /f /im taskmgr.exe|| exit这句放到合适位置就可以了。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
论坛跳转: