中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 06:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 判断进程svchost.exe个数并显示出来 查看 822 回复 4
楼 主 判断进程svchost.exe个数并显示出来 发表于 2010-05-17 14:22 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
RT


3Q
2 发表于 2010-05-17 15:06 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off
for /f "delims=" %%a in ('Tasklist /fi "Imagename eq svchost.exe"') do set/a a+=1&echo.%%a
set/a a-=2
echo.共计 %a% 个 svchost.exe&pause

或:
@echo off
for /f %%a in ('Tasklist /nh /fi "Imagename eq svchost.exe"') do set/a a+=1
echo.共计 %a% 个 svchost.exe&pause
或:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('Tasklist /svc /fi "Imagename eq svchost.exe"') do echo.%%a&set a=%%a&if not "!a:~0,1!"==" " set/a n+=1
set/a n-=2
echo.共计 %n% 个 svchost.exe&pause
或:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('Tasklist /m /fi "Imagename eq svchost.exe"') do echo.%%a&set a=%%a&if not "!a:~0,1!"==" " set/a n+=1
set/a n-=2
echo.共计 %n% 个 svchost.exe&pause


[ Last edited by Hanyeguxing on 2010-5-17 at 15:18 ]
3 发表于 2010-05-17 15:11 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
谢谢

好用
4 发表于 2010-05-17 16:12 ·  中国 湖北 武汉 电信
初级用户
★★
积分 108
发帖 56
注册 2007-05-07 16:00
19年会员
UID 87758
性别 男
状态 离线
set/a n-=2


为什么加这个???
5 发表于 2010-05-17 16:47 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
Originally posted by xue0808 at 2010-5-17 16:12:
set/a n-=2


为什么加这个???

因为使用了set/a n-=2的这些示例,tasklist都没有使用/nh参数,即显示了2行的列标题,所以要减去
论坛跳转: