这是我的问题。我想要实现的只是显示驱动器类型为3(即HardDrives)但实际上有一个驱动器的信息:
GET-WMIOBJECT WIN32_VOLUME | where { $_.drivetype -eq '3'}| select-object freespace, capacity, drivetype, driveletter
目前显示:
freespace capacity drivetype driveletter
--------- -------- --------- -----------
273465344 314568704 3
58966519808 128522907648 3 C:
所以第一行我不想要。我试过添加:
where { $_.drivetype -eq '3' and $_.driveletter -ne null } and where { $_.drivetype -eq '3'} and {$_.driveletter -ne null }
答案 0 :(得分:2)
要过滤掉没有驱动器号的卷,请将DriveLetter
属性视为$null
内的布尔值($false
和空字符串被解释为Where-Object
)。 / p>
确保您使用-and
代替and
(请注意破折号):
Get-WmiObject Win32_Volume |Where { $_.drivetype -eq '3' -and $_.driveletter} |Select-Object freespace,capacity,drivetype,driveletter |Format-Table -HideTableHeaders
(我最初误解了你的问题,这是原始答案):
输出通过Format-Table
隐式传输,生成您在输出中看到的表头。
您可以使用Format-Table
开关参数自行呼叫-HideTableHeaders
,以使其无法从输出中删除:
Get-WmiObject Win32_Volume |Where { $_.drivetype -eq '3'} |Select-Object freespace,capacity,drivetype,driveletter |Format-Table -HideTableHeaders