捕获Windows命令行输出的前4个字符到变量

时间:2017-04-18 21:16:53

标签: windows batch-file for-loop command-line

我试图从以下Windows命令中捕获输出的前4个字符。

nltest /server:%COMPUTERNAME% /dsgetsite

通常返回的内容是:

SITEAdSiteName
This command completed successfully.

我已尝试使用for /F命令,但似乎无法找出除了返回内容的前4个字符之外的其他所有内容。

我认为使用for /F可能不是实现此目标的最佳方式。

关于我如何实现这一目标还有其他建议吗?

我认为我的挑战是定义(或不​​定义)作为任何角色的分隔符,我已尝试*,但似乎没有为我做。

当我使用它时:

for /F "tokens=1-4 delims=*" %A in ('nltest /server:%COMPUTERNAME% /dsgetsite') DO echo %A

我得到两条输出线,有点难过。

1 个答案:

答案 0 :(得分:2)

要在变量LINE中存储nltest / server:%COMPUTERNAME%/ DSGETSITE的输出的第一行,请使用以下命令行(使用%% F而不是%F在批处理文件中使用它): 设置“LINE =”& for / F%F in('nltest / server:%COMPUTERNAME%/ DSGETSITE')如果没有定义则设置LINE set“LINE =%F” 要返回前四个字符,请使用子字符串扩展: 设置“LINE =%LINE:〜,4%” 回声%LINE%
相关问题