中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 06:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for /f 时变量出现奇怪的值 查看 991 回复 6
楼 主 for /f 时变量出现奇怪的值 发表于 2007-03-13 09:46 ·  中国 上海 浦东新区 电信
初级用户
★★
积分 196
发帖 82
注册 2005-09-26 11:31
20年会员
UID 42842
状态 离线
指令如下:
for /F "tokens=1,2" %i in ('tasklist /svc /fi "services eq TermService"') do echo %j

比如在某台电脑上执行,应该得到的值是932,但不知道为什么,执行结果如下:
echo PID
PID

echo ======
======

echo 932
932
我想请教的是,为什么会多出来下面这两行?
echo PID
PID

echo ======
======
2 发表于 2007-03-13 09:51 ·  中国 浙江 绍兴 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
tasklist /svc /fi "services eq TermService
能把这句的运行结果说一下吗 我电脑上显示不出来
3 发表于 2007-03-13 09:56 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
  修改一下命令即可得到PID的值:

for /F "tokens=1,2" %i in ('tasklist /svc /nh /fi "services eq TermService"^|findstr ".*\.exe"') do @echo %j
4 发表于 2007-03-13 10:04 ·  中国 上海 浦东新区 电信
初级用户
★★
积分 196
发帖 82
注册 2005-09-26 11:31
20年会员
UID 42842
状态 离线
To zhoushijay,

这个大概是只有XP才能运行的,PID值往往都会不同,我想得到的结果就只是那个PID的值而已.

tasklist /svc /fi "services eq TermService"


图像名 PID 服务
========================= ====== =============================================
svchost.exe 932 DcomLaunch, TermService


To lxmxn,
非常感谢~~才想清楚,原来是对结果中的三行都找了第二列,加了/nh参数,就去掉前两行而只留下第三行,所以多余的东西也不再有了.
5 发表于 2007-03-14 00:15 ·  中国 广西 柳州 电信
初级用户
积分 83
发帖 39
注册 2006-12-22 09:55
19年会员
UID 74267
性别 男
状态 离线
/NH 指定栏标头不应该在
输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。

以前都没注意到,谢谢提了个醒~~
6 发表于 2007-10-29 23:08 ·  中国 上海 静安区 中移铁通
初级用户
积分 48
发帖 23
注册 2007-10-24 09:46
18年会员
UID 100622
性别 男
状态 离线
Originally posted by lxmxn at 2007-3-13 09:56 AM:
  修改一下命令即可得到PID的值:

for /F "tokens=1,2" %i in ('tasklist /svc /nh /fi "services eq TermService"^|findstr ".*\.exe" ...

我想知道里面的 /scv /nh /fi "services eq TermService" 是怎么回事
7 发表于 2007-10-29 23:55 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线

for /F "eol== skip=2 tokens=1,2" %i in ('tasklist /svc /fi "services eq TermService"') do echo %j
第一高手 第二高手

论坛跳转: