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/提供了任何答案吗?如果是,并且你希望在将来得到帮助,那么反馈是一个好习惯。