CLI - 使用for命令

时间:2015-07-02 12:40:27

标签: parsing for-loop command-line-interface command-prompt

我正在尝试设置一个可识别笔记本电脑品牌的变量。

我是通过使用命令

来做到这一点的

wmic csproduct get vendor

这给出了以下输出

供应商
联想
(空白)

基于该命令,我在下面的方式中使用了for命令,尝试设置一个值为'LENOVO'的变量

  

for / f“skip = 1 tokens = 1 delims =”%i in('wmic csproduct get vendor')   设置vendor =%i

然而,问题是wmic命令的输出实际上在单词LENOVO下产生一个空行,所以我的变量被设置为空白值。无论如何都要停止for命令解析第3行,因此一旦变量设置为'lenovo'值就停止了吗?

跳过功能正常,并完全绕过第一行。但是它似乎没有让我选择说,例如,跳过第1行和第3行但是留下2.我已经尝试使用EOL参数来尝试忽略空行,但是for命令仍然读取空的第3行每一次。

非常感谢

1 个答案:

答案 0 :(得分:0)

有点笨拙,但尝试在你的行中使用以下内容。它将过滤掉供应商行,然后按字母顺序排序,将空行放在第一位。如果你真的需要定期做这样的事情,请检查一些Unix工具的Windows端口,如sed和awk。

wmic csproduct get vendor | find /v /i "vendor" | sort