[英]Get a partition name with PowerShell
我有一個已格式化的閃存驅動器,因此驅動器上的卷標為“PHILIP”。
我正在使用Get-PSDrive H -PSProvider FileSystem
來確定驅動器是否已插入,但是我真的很想確定驅動器是否通過卷標插入,即Get-PSDrive -VolumeLabel PHILIP -PSProvider FileSystem
。 當然VolumeLabel
參數不存在所以這不起作用。
有沒有辦法按卷名列出計算機中的驅動器?
你可以使用 WMI,我猜:
Get-WMIObject Win32_Volume | ? { $_.Label -eq 'PHILIP' }
您也可以使用 .NET 框架中的DriveInfo類:
PS> [System.IO.DriveInfo]::GetDrives()
Name : C:\
DriveType : Fixed
DriveFormat : NTFS
IsReady : True
AvailableFreeSpace : 217269202944
TotalFreeSpace : 217269202944
TotalSize : 320070479872
RootDirectory : C:\
VolumeLabel : OS
然后,您可以將其通過管道傳輸到Where-Object
cmdlet(包括?
和Where
是別名)以將其過濾到您正在查找的卷:
PS> [System.IO.DriveInfo]::GetDrives() | ? {$_.VolumeLabel -eq "PHILIP" }
我像 Joey 建議的那樣使用 Get-WMIObject。 要將 wmi 結果鏈接到例如獲取分區,我使用了 caption 參數。 在本例中,我將卷 Philip 的分區號設置為 D
$datavolume=Get-WMIObject Win32_Volume | ? { $_.Label -eq 'PHILIP' }
$datavolume=$datavolume.Caption
獲取分區 -DiskNumber 0 | 其中 {$_.accesspaths -like " $ datavolume "} | 設置分區 -NewDriveLetter D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.