使用PowerShell获取分区名称
我有一个闪存驱动器,格式化后驱动器上的卷标是“PHILIP” 我正在使用使用PowerShell获取分区名称,powershell,drive,removable-storage,Powershell,Drive,Removable Storage,我有一个闪存驱动器,格式化后驱动器上的卷标是“PHILIP” 我正在使用Get PSDrive H-PSProvider FileSystem确定驱动器是否已插入,但是我确实希望确定驱动器是否已通过卷标插入,即Get PSDrive-VolumeLabel PHILIP-PSProvider FileSystem。当然,VolumeLabel参数不存在,因此这不起作用 有没有办法按卷名列出计算机中的驱动器?我想您可以使用WMI: Get-WMIObject Win32_Volume | ? {
Get PSDrive H-PSProvider FileSystem
确定驱动器是否已插入,但是我确实希望确定驱动器是否已通过卷标插入,即Get PSDrive-VolumeLabel PHILIP-PSProvider FileSystem
。当然,VolumeLabel
参数不存在,因此这不起作用
有没有办法按卷名列出计算机中的驱动器?我想您可以使用WMI:
Get-WMIObject Win32_Volume | ? { $_.Label -eq 'PHILIP' }
您也可以使用.NET framework中的类:
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" }
我用乔伊提议的方法来获取WMIObject。 为了将wmi结果链接到例如get分区,我使用caption参数。 在本例中,我将卷Philip的分区字母设置为D $datavolume=获取WMIObject Win32|U卷|?{$\标签-eq'PHILIP'} $datavolume=$datavolume.Caption get partition-DiskNumber 0 |其中{$\.accessPath-like“$datavolume”}Set partition-NewDriveLetter D