![](/img/trans.png)
[英]Convert Get-WmiObject win32_diskdrive to array in Powershell 4
[英]PowerShell Get-WmiObject WIN32_VOLUME WHERE clause
這是我的問題。 我想要實現的是僅顯示驅動器類型為3(即HardDrives)但實際上具有driveletter的信息:
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 }
要過濾掉沒有驅動器號的卷,請在Where-Object
內將DriveLetter
屬性視為一個布爾值( $null
和空字符串都解釋為$false
)。
確保使用-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
,該Format-Table
會生成您在輸出中看到的表頭。
您可以使用-HideTableHeaders
開關參數自己調用Format-Table
以將其從輸出中-HideTableHeaders
:
Get-WmiObject Win32_Volume |Where { $_.drivetype -eq '3'} |Select-Object freespace,capacity,drivetype,driveletter |Format-Table -HideTableHeaders
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.