如何从批处理或命令提示符中过滤/管道 wmi 输出

如何从批处理或命令提示符中过滤/管道 wmi 输出

我需要为特定的 HDD 编写一个小脚本。
我使用以下命令按大小检测 HDD:

 C:\>wmic logicaldisk get size,freespace,caption | find "750153363456"

 E:       27996512256  750153363456

现在我需要将该输出的驱动器号(本例中为 E:)存储到变量中。我该怎么做?

答案1

为什么不使用序列号来查找驱动器?一种可能的解决方案是将 wmic 的结果保存在文件中:

REM replace D4B12CD with your drive serialnumber

wmic logicaldisk get caption,volumeserialnumber |findstr D4B12CD > c:\temp\Hdd.txt 
for /f %%i in (c:\temp\hdd.txt) do set mydrive=%%i

REM now mydrive contains the letter of your drive
echo %mydrive%

相关内容