检查WMIC是否安装,从批处理文件中将数据写入文件

3
我正在使用Windows Management Instrumentation Command-line (WMIC)读取计算机的硬件组件和IP设置等数据。由于我正在使用批处理文件(Windows)为每台计算机/节点填充数据文件,所以查询逻辑是在那里实现的。到目前为止,在我的计算机和其他我尝试过的计算机上都运行得非常好。
问题出现在从未使用过WMIC的计算机上,它需要在第一次查询/执行时(自动)安装。这就是为什么控制台程序会输出“请稍候,WMIC正在被安装”的原因。
由于我正在将数据写入文件,所以这是个问题:我不想在文件中包含这个字符串。另一个问题是,如果该字符串被输出,它就会使所有文件崩溃。 “Please wait while WMIC is being installed”以ASCII表示,数据查询的结果以某种带有前导零的ASCII字符编写(多字节字符集?Unicode?...)。
有没有人知道如何检查WMIC是否已经安装? 或者:如何忽略该字符串? 或者:我真的必须在我的文件查看器中实现一个转换器来检查字符串/字符集吗?
1个回答

3

因为这只在 WMIC 的第一个运行时打印,所以您只需进行两个调用。一个虚拟调用来消耗字符串:

wmic foo >nul 2>&1

然后你实际想要执行什么。


1
是的,谢谢。这是一个好方法。我只需要查找command > file 2>&1语法,它的意思是“将命令的标准输出和标准错误都写入文件”,在这种情况下是NUL设备。 - matthias

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接