|
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 |
|