如何检查驱动器是虚拟的(使用subst
命令创建)?
Get-VirtualDisk
不工作(powershell 3.0)
您可以从subst
输出的每行中提取第一个字符到数组中,并检查该数组中是否包含特定的驱动器:
$substed = subst | % { $_.Substring(0,1) + ':' }
if ( $substed -contains 'x:' ) {
# do stuff
}
您可以解析运行subst
的结果以获得现有替换的列表,如:
$substdrives = @{};
(subst) |% { $part = $_ -split '\: => '; $substdrives[$part[0]] = $part[1] } ;
$substdrives | ft
subst
没有创建虚拟磁盘,因此Get-VirtualDisk
不会返回这些驱动器。
您可以使用Get-PSDrive
并查找Description
属性与另一个驱动器的Description
属性匹配的驱动器。例如,在我的系统上,我有subst
ed Q指向我的C驱动器上的路径:
>get-psdrive |where-object {$_.provider -like "*filesystem"}|select name,description|ft -auto
Name Description
---- -----------
C OSDisk
D
E
P
Q OSDisk
U