在Windows的命令提示符中从输出中捕获第二个单词

时间:2019-03-13 14:16:40

标签: windows batch-file cmd

我想从下面命令的输出(让它为xyz)的第二行中捕获第二个单词(即日期)

Data source CODA enabled.
=== 03/13/19 01:45:00 PM
Instance : 0
GBL_COLLECTOR : Nums 12.02.008
GBL_INTERVAL : 299

我正在使用以下语法,但是会出错。

For /f “tokens=2” %a in (‘xyz | findstr == ‘) do echo %a

有人可以帮我找到捕获第二行中日期的确切语法吗?

1 个答案:

答案 0 :(得分:0)

根据提供的信息,我建议:

Set "_=1"&For /F "Skip=1Tokens=2" %A In ('xyz 2^>Nul')Do @If Defined _ Echo(%A&Set "_="

您给出的示例在Squashman的评论中得到了回答,该示例要求删除所有“智能引号”并转义竖线字符 | ,带有尖号 ^

For /F Tokens^=2 %A In ('xyz 2^>Nul^|Find "=="')Do @Echo %A

或者,也可以用双引号保护:

For /F "Tokens=2" %A In ('"xyz 2>Nul|Find "==""')Do @Echo %A