找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 10827|回复: 4

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

[复制链接]
发表于 2024-9-6 20:39:34 | 显示全部楼层 |阅读模式
使用下面powershell代码可以将某个分区后面的未分配空间与该分区进行合并(示例代码中是第1个硬盘的第2个分区后面有未分配空间),
但问题来了, 我想把当前电脑上所有的未分配空间都合并到其前面的分区中, 可能有多个硬盘, 那下面的代码应该怎样改呢,


$size = (Get-PartitionSupportedSize –DiskNumber 0  –PartitionNumber 5)
Resize-Partition -DiskNumber 0  –PartitionNumber 5 -Size $size.SizeMax
发表于 2024-9-6 22:04:03 | 显示全部楼层
  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就是真正合并磁盘未分配空间.
发表于 2024-9-6 22:15:21 | 显示全部楼层
不连续的能合并?动态磁盘么?
 楼主| 发表于 2024-9-6 23:17:34 | 显示全部楼层
回复 2# flashercs


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

因为是在windows下, 所以我认为应该只能合并第1个50G的未分配空间到它前面的分区中,
而第2个, 因为它的前面是linux分区, 所以应该合并不了,
-whatif 其它的未分配空间应该是太小的那种, 估计应该跳过,
现在的情况应该怎样改代码呢?
发表于 2024-9-7 11:04:04 | 显示全部楼层
回复 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. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:09 , Processed in 0.017790 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表