我正在尝试设置一个可识别笔记本电脑品牌的变量。
我是通过使用命令
来做到这一点的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行每一次。
非常感谢
答案 0 :(得分:0)
有点笨拙,但尝试在你的行中使用以下内容。它将过滤掉供应商行,然后按字母顺序排序,将空行放在第一位。如果你真的需要定期做这样的事情,请检查一些Unix工具的Windows端口,如sed和awk。
wmic csproduct get vendor | find /v /i "vendor" | sort