标题: for /f 时变量出现奇怪的值
[打印本页]
作者: pillow
时间: 2007-3-13 09:46
标题: 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 ======
======
作者: zhoushijay
时间: 2007-3-13 09:51
tasklist /svc /fi "services eq TermService
能把这句的运行结果说一下吗 我电脑上显示不出来
作者: lxmxn
时间: 2007-3-13 09:56
修改一下命令即可得到PID的值:
for /F "tokens=1,2" %i in ('tasklist /svc /nh /fi "services eq TermService"^|findstr ".*\.exe"') do @echo %j
作者: pillow
时间: 2007-3-13 10:04
To zhoushijay,
这个大概是只有XP才能运行的,PID值往往都会不同,我想得到的结果就只是那个PID的值而已.
tasklist /svc /fi "services eq TermService"
图像名 PID 服务
========================= ====== =============================================
svchost.exe 932 DcomLaunch, TermService
To lxmxn,
非常感谢~~才想清楚,原来是对结果中的三行都找了第二列,加了/nh参数,就去掉前两行而只留下第三行,所以多余的东西也不再有了.
作者: leoson88
时间: 2007-3-14 00:15
/NH 指定栏标头不应该在
输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。
以前都没注意到,谢谢提了个醒~~
作者: z310394543
时间: 2007-10-29 23:08
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" 是怎么回事
作者: fastslz
时间: 2007-10-29 23:55
for /F "eol== skip=2 tokens=1,2" %i in ('tasklist /svc /fi "services eq TermService"') do echo %j