[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 求助PowerShell合并所有分区后面的未分配空间

使用下面powershell代码可以将某个分区后面的未分配空间与该分区进行合并(示例代码中是第1个硬盘的第2个分区后面有未分配空间),
但问题来了, 我想把当前电脑上所有的未分配空间都合并到其前面的分区中, 可能有多个硬盘, 那下面的代码应该怎样改呢,


$size = (Get-PartitionSupportedSize –DiskNumber 0  –PartitionNumber 5)
Resize-Partition -DiskNumber 0  –PartitionNumber 5 -Size $size.SizeMax

  1. Get-Partition | ForEach-Object {
  2.   $size = $_ | Get-PartitionSupportedSize
  3.   if ($size.SizeMax -gt $size.SizeMin) {
  4.     $_ | Resize-Partition -Size $size.SizeMax -WhatIf
  5.   }
  6. }
复制代码
如果-WhatIf结果符合要求,那么去掉-WhatIf就是真正合并磁盘未分配空间.
微信:flashercs
QQ:49908356

TOP

不连续的能合并?动态磁盘么?

TOP

回复 2# flashercs


多谢大佬支招,
通过测试,我看-whatif 信息中有好多分区都要调整, 但实际上只有两个分区需要调整,
第1个是50G的未分配空间,它前面是一个NTFS的分区,
第2个是7个G的未分配空间, 它前面是一个Linux的分区,

因为是在windows下, 所以我认为应该只能合并第1个50G的未分配空间到它前面的分区中,
而第2个, 因为它的前面是linux分区, 所以应该合并不了,
-whatif 其它的未分配空间应该是太小的那种, 估计应该跳过,
现在的情况应该怎样改代码呢?

TOP

回复 4# 小白龙
那就手动选择分区,可以多选,每个选择的分区合并为最大容量,不选择就点击取消.
  1. Get-Partition | Select-Object -Property DiskNumber, PartitionNumber, DriveLetter, Type, Offset, Size, @{
  2.   n = 'SupportSize';
  3.   e = { $_ | Get-PartitionSupportedSize }
  4. } | Out-GridView -Title '选择你要合并的分区后点确定(可多选),不选择请点取消' -OutputMode Multiple | ForEach-Object {
  5.   Resize-Partition -DiskNumber $_.DiskNumber -PartitionNumber $_.PartitionNumber -Size $_.SupportSize.SizeMax -Verbose -WhatIf
  6. }
复制代码
微信:flashercs
QQ:49908356

TOP

返回列表