簡體   English   中英

使用 PowerShell 獲取分區名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM