如何在Powershell 2.0中获取驱动器号列表

slo*_*nzy 5 powershell powershell-2.0

我试图在下拉菜单中获取驱动器号列表。我目前正在使用下面的代码,它在Windows 10中可以正常工作,但在Windows 7中根本无法工作。

     $Drive_Letters = Get-WmiObject Win32_LogicalDisk
     ForEach ($Drives in $Drive_Letters.DeviceID) { $Dest_Drive_Box.Items.Add($Drives) }
Run Code Online (Sandbox Code Playgroud)

在Win 7中,我尝试将代码调整为此。

     $Drive_Letters = Get-WmiObject Win32_LogicalDisk | Select-Object DeviceID
     ForEach ($Drives in $Drive_Letters) { $Dest_Drive_Box.Items.Add($Drives) }
Run Code Online (Sandbox Code Playgroud)

但是现在在Win 7和10中,对于每个驱动器号,它都显示“ @ DeviceID = C:}”,“ @ DeviceID = D:}”等。我只需要显示“ C:”,“ D:”等。

谢谢!

The*_*le1 7

Get-PSDrive
Run Code Online (Sandbox Code Playgroud)

这将返回当前会话中映射的所有驱动器。该Name属性包含驱动器号。

只捕获驱动器号:

(Get-PSDrive).Name -match '^[a-z]$'
Run Code Online (Sandbox Code Playgroud)

在 PSv2 中测试工作:

Get-PSDrive | Select-Object -ExpandProperty 'Name' | Select-String -Pattern '^[a-z]$'
Run Code Online (Sandbox Code Playgroud)