中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: for /f 时变量出现奇怪的值 上一主题 | 下一主题
pillow
初级用户





积分 196
发帖 82
注册 2005-9-26
状态 离线
『楼 主』:  for /f 时变量出现奇怪的值

指令如下:
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 ======
======

2007-3-13 09:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 2 楼』:  

tasklist /svc /fi "services eq TermService
能把这句的运行结果说一下吗  我电脑上显示不出来

2007-3-13 09:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

  修改一下命令即可得到PID的值:
for /F "tokens=1,2" %i in ('tasklist /svc /nh /fi "services eq TermService"^|findstr ".*\.exe"') do @echo %j


2007-3-13 09:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pillow
初级用户





积分 196
发帖 82
注册 2005-9-26
状态 离线
『第 4 楼』:  

To zhoushijay,

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

tasklist /svc /fi "services eq TermService"


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


To lxmxn,
非常感谢~~才想清楚,原来是对结果中的三行都找了第二列,加了/nh参数,就去掉前两行而只留下第三行,所以多余的东西也不再有了.

2007-3-13 10:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
leoson88
初级用户





积分 83
发帖 39
注册 2006-12-22
状态 离线
『第 5 楼』:  

/NH                     指定栏标头不应该在
                          输出中显示。
                          只对 "TABLE" 和 "CSV" 格式有效。

以前都没注意到,谢谢提了个醒~~

2007-3-14 00:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
z310394543
初级用户




积分 48
发帖 23
注册 2007-10-24
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by lxmxn at 2007-3-13 09:56 AM:
  修改一下命令即可得到PID的值:[code]
for /F "tokens=1,2" %i in ('tasklist /svc /nh /fi "services eq TermService"^|findstr ".*\.exe" ...

我想知道里面的 /scv /nh /fi "services eq TermService" 是怎么回事

2007-10-29 23:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 7 楼』:  


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




第一高手    第二高手

2007-10-29 23:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: