5

ドライブのボリュームラベルが「PHILIP」になるようにフォーマットしたフラッシュドライブがあります。

ここに画像の説明を入力してください

ドライブが接続されているかどうかを判断するために使用Get-PSDrive H -PSProvider FileSystemしていますが、ドライブがボリュームラベルによって接続されているかどうかを確認したいと思いGet-PSDrive -VolumeLabel PHILIP -PSProvider FileSystemます。もちろん、VolumeLabelパラメータは存在しないため、これは機能しません。

コンピュータのドライブをボリューム名で一覧表示する方法はありますか?

4

3 に答える 3

8

WMIを使用できると思います。

Get-WMIObject Win32_Volume | ? { $_.Label -eq 'PHILIP' }
于 2012-10-12T19:42:13.353 に答える
5

.NETFrameworkの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次に、それをコマンドレット(?およびエイリアスの両方)にパイプして、Where探しているボリュームだけにフィルターすることができます。

PS> [System.IO.DriveInfo]::GetDrives() | ? {$_.VolumeLabel -eq "PHILIP" }
于 2012-10-12T20:29:09.763 に答える
1

Joeyが提案するようにGet-WMIObjectを使用します。wmiの結果をたとえばget-partitionにリンクするには、captionパラメーターを使用します。この例では、ボリュームPhilipのパーティションレターをDに設定しました。

$ datavolume = Get-WMIObject Win32_Volume | ?{$_。Label-eq'PHILIP'}

$ datavolume = $ datavolume.Caption

get-partition -DiskNumber 0 | ここで、{$_。accesspaths-like " $ datavolume "} | セットパーティション-NewDriveLetterD

于 2019-12-20T12:49:25.160 に答える