Powershell 查找具有现有路径的分区

Powershell 查找具有现有路径的分区,powershell,Powershell,我需要找到包含特定文件夹的外部磁盘的分区号 我尝试过使用Get Disk | Where Object并使用友好名称“MSFT Virtual Disk”进行过滤,但是在使用虚拟环境时,这种方法不起作用 我相信我所寻找的需要多个变量串联在一起,但鉴于我对powershell相当熟悉,我想我会征求意见 我以前的尝试使用了一种硬编码的方法,找到一个虚拟磁盘并连接它,然后调用预期的分区 我希望做的是 列出所有活动驱动器 测试每个驱动器以查看路径是否存在 为包含所需路径的磁盘和分区设置变量

我需要找到包含特定文件夹的外部磁盘的分区号

我尝试过使用
Get Disk | Where Object
并使用友好名称“MSFT Virtual Disk”进行过滤,但是在使用虚拟环境时,这种方法不起作用

我相信我所寻找的需要多个变量串联在一起,但鉴于我对powershell相当熟悉,我想我会征求意见

  • 我以前的尝试使用了一种硬编码的方法,找到一个虚拟磁盘并连接它,然后调用预期的分区
  • 我希望做的是
  • 列出所有活动驱动器
  • 测试每个驱动器以查看路径是否存在
  • 为包含所需路径的磁盘和分区设置变量

  • 如果脚本找到与路径匹配的2个磁盘,则会出现某种形式的错误捕获


也许您更喜欢寻找卷
获取卷

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- ------------ -------------- --------- ------------ ----------------- -------------      ----
C                        NTFS           Fixed     Healthy      OK                    106.67 GB 465.21 GB
L                        Unknown        CD-ROM    Healthy      Unknown                     0 B       0 B
F                        Unknown        Removable Healthy      Unknown                     0 B       0 B
G                        Unknown        Removable Healthy      Unknown                     0 B       0 B
H                        Unknown        Removable Healthy      Unknown                     0 B       0 B
K                        Unknown        Removable Healthy      Unknown                     0 B       0 B
D           Nouveau nom  NTFS           Fixed     Healthy      OK                      1.81 TB   3.46 TB
E           Nouveau nom  NTFS           Fixed     Healthy      OK                    745.83 GB   2.59 TB
J                        NTFS           Fixed     Healthy      OK                     45.45 MB    450 MB
它允许您查找可用卷

另一种方法是使用
getpsdrive
过滤
文件系统,这是一种更面向PowerShell的方法

您可以在安装有以下组件的卷上找到更多详细信息:

Get-WmiObject Win32_Volume
Get-WmiObject Win32_Volume | Format-Table Name, Label, FreeSpace, Capacity

也许您更喜欢查找卷
获取卷

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- ------------ -------------- --------- ------------ ----------------- -------------      ----
C                        NTFS           Fixed     Healthy      OK                    106.67 GB 465.21 GB
L                        Unknown        CD-ROM    Healthy      Unknown                     0 B       0 B
F                        Unknown        Removable Healthy      Unknown                     0 B       0 B
G                        Unknown        Removable Healthy      Unknown                     0 B       0 B
H                        Unknown        Removable Healthy      Unknown                     0 B       0 B
K                        Unknown        Removable Healthy      Unknown                     0 B       0 B
D           Nouveau nom  NTFS           Fixed     Healthy      OK                      1.81 TB   3.46 TB
E           Nouveau nom  NTFS           Fixed     Healthy      OK                    745.83 GB   2.59 TB
J                        NTFS           Fixed     Healthy      OK                     45.45 MB    450 MB
它允许您查找可用卷

另一种方法是使用
getpsdrive
过滤
文件系统,这是一种更面向PowerShell的方法

您可以在安装有以下组件的卷上找到更多详细信息:

Get-WmiObject Win32_Volume
Get-WmiObject Win32_Volume | Format-Table Name, Label, FreeSpace, Capacity

这是你要找的东西吗

$dirToFind = 'directory' 
Get-Partition | 
Where-Object -FilterScript { [char]::IsLetter($_.DriveLetter) -and [bool](Get-ChildItem -Path "$($_.DriveLetter):\" -Filter "$dirToFind" -Directory -Recurse -ErrorAction SilentlyContinue) } |
Select-Object -Property DriveLetter

请注意,
Get Partition
是从Windows 10和Windows Server 2016上可用的存储模块中获取的cmdlet。(详细信息)

这是您正在寻找的东西:

$dirToFind = 'directory' 
Get-Partition | 
Where-Object -FilterScript { [char]::IsLetter($_.DriveLetter) -and [bool](Get-ChildItem -Path "$($_.DriveLetter):\" -Filter "$dirToFind" -Directory -Recurse -ErrorAction SilentlyContinue) } |
Select-Object -Property DriveLetter

请注意,
Get Partition
是从Windows 10和Windows Server 2016上可用的存储模块中获取的cmdlet。(详情)

敲门,敲门人。RU OK/提供了任何答案吗?如果是的,并且你希望在将来得到帮助,那么在这里反馈是一个好习惯。RU OK/提供了任何答案吗?如果是,并且你希望在将来得到帮助,那么反馈是一个好习惯。