【发布时间】:2019-07-20 04:41:53
【问题描述】:
我一直依赖这两个命令:
wmic memorychip get capacity // Outputs how much RAM there is (in a convoluted manner).
wmic diskdrive get Status,Model // Checks whether the HDDs/SSDs on the system are (supposedly) still "OK" and working.
今天,我随便输入了“wmic”,看看能不能得到上述命令的 JSON 输出。它以红色文本打印的第一件事是:
WMIC is deprecated.
我对此感到非常震惊。已弃用?好吧...那我绝对不应该依赖它。那么,这两个命令的“现代替代方案”是什么?它们甚至存在吗?为什么他们只是告诉我们它已“弃用”,更多信息为零?
【问题讨论】:
-
我要求 WMIC 的替代品——不是 cmd.exe...
-
WMIC 是访问 WMI 的命令行工具。 WMIC 已弃用。继续使用 PowerShell 访问 WMI。
-
@PeterMortensen,wmic.exe 用于批处理脚本脚本,因为 CMD 没有使用 WMI 来检查和管理系统的内置功能。
-
微软旧的命令行工具的一个问题是文本编码是一团糟。一些程序使用 OEM 代码页输出,一些使用 ANSI 代码页,一些使用当前控制台输入或输出代码页,还有一些可以做 UTF-16,但通常只能到磁盘文件(例如 wmic.exe)。我很高兴看到这种临时混乱的工具被弃用了。 PowerShell 及其 cmdlet 和 .NET 是一个更好的命令行环境。 (也就是说,它对经典标准 I/O 的支持非常糟糕。它将自己作为管道中的中间人注入并重定向到文件,以便将字节转码为文本。)
标签: windows command-line-interface wmic