中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 02:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用批处理结束系统所需以外的所有进程? 查看 1,194 回复 5
楼 主 如何用批处理结束系统所需以外的所有进程? 发表于 2007-10-17 08:07 ·  中国 广东 深圳 福田区 电信
新手上路
积分 8
发帖 3
注册 2007-10-15 16:03
18年会员
UID 99814
性别 男
状态 离线
如题,如何用批处理结束系统所需及特定几个进程以外的所有进程?谢谢!
2 发表于 2007-10-17 08:22 ·  中国 山西 太原 万柏林区 电信
初级用户
积分 49
发帖 26
注册 2007-09-11 15:38
18年会员
UID 97109
性别 男
状态 离线
if not
3 发表于 2007-10-17 10:26 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
机子不同驱动不同,还有杀毒软件,有的还先关闭相关服务再结束进程,很难搞定,也不具备通用性
第一高手 第二高手

4 发表于 2007-10-17 18:43 ·  中国 广东 深圳 福田区 电信
新手上路
积分 8
发帖 3
注册 2007-10-15 16:03
18年会员
UID 99814
性别 男
状态 离线
那理论上还是可以实现的吧?
5 发表于 2007-10-17 19:37 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
下面是Process.ini,里面存放不需要结束的进程名,不区分大小写,可自行配置:
csrss.exe
explorer.exe
lsass.exe
smss.exe
services.exe
svchost.exe
winlogon.exe
System
System Idle Process


运行下面的批处理即可:
@echo off&Setlocal EnableDelayedExpansion

for /f "tokens=1 delims=," %%a in ('tasklist /nh /FO CSV') do (
for /f "delims=" %%b in (Process.ini) do (
set /a flag+=1
if /i not %%a=="%%b" set /a num+=1
)
if !flag! equ !num! taskkill /f /im %%a
set /a flag=num=0
)
echo the end...
6 发表于 2007-10-18 17:38 ·  中国 广东 深圳 福田区 电信
新手上路
积分 8
发帖 3
注册 2007-10-15 16:03
18年会员
UID 99814
性别 男
状态 离线
谢谢
论坛跳转: