首页 > 解决方案 > 使用现有路径查找分区

问题描述

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

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

我相信我正在寻找的东西需要将多个变量串在一起,但考虑到我是 powershell 的新手,我想我会征求意见。

$Foldername = Get-ChildItem E:\Media$\windowsimagebackup\$PCN\backup*
$Foldername = "E:\Media$\windowsimagebackup\$PCN\" + $Foldername.Name
$VHDName = Get-ChildItem $Foldername *.vhdx | Where-Object {$_.Length -GT 1000000000}
$VHDName = $VHDName.Name
$path = $Foldername + "\" + $VHDName

Mount-DiskImage -ImagePath $path

$DiskNumber = Get-Disk | Where-Object {$_.FriendlyName -Eq "Msft Virtual Disk"}
$DiskNumber = $DiskNumber.Number

Set-Partition -PartitionNumber 2 -DiskNumber $DiskNumber -NewDriveLetter M
$Disks = Get-Disk | ##Filter the Results to display active drive letters## 
$Test = Test-Path $Disk.Driveletter\$Path

标签: powershell

解决方案


那是你正在寻找的东西:

$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。(详细信息https://docs.microsoft.com/en-us/powershell/module/storage/get-partition?视图=win10-ps


推荐阅读