首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用现有路径查找分区

使用现有路径查找分区
EN

Stack Overflow用户
提问于 2019-04-15 00:15:47
回答 2查看 988关注 0票数 1

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

我尝试过使用Get-Disk | Where-Object并使用友好的名称'MSFT‘进行过滤,但是当使用虚拟环境时,这种方法不起作用。

我相信我正在寻找的东西需要多个变量串在一起,但考虑到我对powershell相当陌生,我认为我需要征求意见。

  • 我之前的尝试使用了一种硬编码的方法,即找到一个虚拟磁盘&将它附加起来,然后调用预期的分区。
代码语言:javascript
复制
$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
  • 我希望做的是
  • 列出所有活动驱动器
代码语言:javascript
复制
$Disks = Get-Disk | ##Filter the Results to display active drive letters## 
  • 测试每个驱动器以确定是否存在路径
代码语言:javascript
复制
$Test = Test-Path $Disk.Driveletter\$Path
  • 为包含所需路径的磁盘和分区设置一个变量
  • 某种形式的错误捕捉,以防脚本找到两个匹配路径的磁盘。
EN

回答 2

Stack Overflow用户

发布于 2019-04-15 04:05:25

也许您更多的是在寻找卷Get-Volume

代码语言:javascript
复制
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

它允许您找到可用的卷。

另一种更面向PowerShell的方法是将Get-PSDrive过滤与FileSystem结合使用。

您可以找到更多关于使用以下方法安装的田庄的详细信息:

代码语言:javascript
复制
Get-WmiObject Win32_Volume
Get-WmiObject Win32_Volume | Format-Table Name, Label, FreeSpace, Capacity
票数 0
EN

Stack Overflow用户

发布于 2019-04-15 10:36:28

这就是你要找的东西吗

代码语言:javascript
复制
$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是从Windows10和Windows 2016上可用的存储模块中获取的cmdlet。(细节https://learn.microsoft.com/en-us/powershell/module/storage/get-partition?view=win10-ps)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55681178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档