CMD.exe:获取第二列输出到变量

时间:2013-10-18 06:15:37

标签: batch-file cmd

我需要以下命令第二列输出<USERNAME>结果变量:

query sessions|find "Active"
>console    <USERNAME>     1   Active

我知道%USERNAME%whoami可以获取当前用户名,但此脚本将使用管理员帐户运行,并且需要能够捕获当前活动的登录用户名。如果我可以选择输出结果的第二列并将其分配给变量..这将是一个很好的帮助。

1 个答案:

答案 0 :(得分:6)

在这种情况下,您应该使用FOR /F来捕获输出

for /F "tokens=1,2,3,4,5" %%A in ('"query session | find "Active""') DO (
  echo %%A,%%B,%%C,%%D,%%E
)

它也会拆分空格和TAB的行,但如果用户名包含空格,则可能会出现问题。