获取指定磁盘上的最大卷
Get biggest volume on specified disk
编辑:我意识到我可能发错地方了,最好发到serverfault,抱歉。
我正在研究磁盘恢复操作的自动化,在其中我需要为包含 Windows 系统的恢复卷分配一个字母以允许修改其内容(驱动程序注射等)。
我的机器上有2个磁盘:磁盘0是恢复机器的系统盘,磁盘1是恢复机器的系统盘,上面有两个分区,系统保留分区和标准分区。
我想将盘符E分配给
磁盘 1 分区 Windows。手动完成后像这样:
Get-Partition
Disk Number: 1
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 1048576 350 MB IFS
2 E 368050176 29.66 GB IFS
Disk Number: 0
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 1048576 350 MB IFS
2 C 368050176 49.66 GB IFS
我尝试了什么:
Get-Partition -DiskNumber 1 | Where-Object -FilterScript {$_.Type -Eq "Basic"} |
Set-Partition -NewDriveLetter E
这不起作用,因为 Where 对象条件未检测到基本类型。
我想也许我可以尝试检测最大的分区,因为磁盘上永远只有两个分区。但是,我不知道。
如果你想获得最大的分区,你可以在大小 属性 上使用 Sort-Object,它是 uint64 类型 - 这样你就不必担心抓错基于关于 MB/GB 的字符串排序 - 然后使用 Select-Object 获取第一个结果,如下所示:
Get-Partition -DiskNumber 1 | Sort-Object "Size" -Descending | Select-object -First 1 | Set-Partition -NewDriveLetter E
这将选择磁盘 1 上最大的分区:
Get-Partition -DiskNumber 1 | sort-object -property size -descending | select -first 1
希望对您有所帮助
编辑:我意识到我可能发错地方了,最好发到serverfault,抱歉。
我正在研究磁盘恢复操作的自动化,在其中我需要为包含 Windows 系统的恢复卷分配一个字母以允许修改其内容(驱动程序注射等)。
我的机器上有2个磁盘:磁盘0是恢复机器的系统盘,磁盘1是恢复机器的系统盘,上面有两个分区,系统保留分区和标准分区。
我想将盘符E分配给 磁盘 1 分区 Windows。手动完成后像这样:
Get-Partition Disk Number: 1 PartitionNumber DriveLetter Offset Size Type --------------- ----------- ------ ---- ---- 1 1048576 350 MB IFS 2 E 368050176 29.66 GB IFS Disk Number: 0 PartitionNumber DriveLetter Offset Size Type --------------- ----------- ------ ---- ---- 1 1048576 350 MB IFS 2 C 368050176 49.66 GB IFS
我尝试了什么:
Get-Partition -DiskNumber 1 | Where-Object -FilterScript {$_.Type -Eq "Basic"} |
Set-Partition -NewDriveLetter E
这不起作用,因为 Where 对象条件未检测到基本类型。
我想也许我可以尝试检测最大的分区,因为磁盘上永远只有两个分区。但是,我不知道。
如果你想获得最大的分区,你可以在大小 属性 上使用 Sort-Object,它是 uint64 类型 - 这样你就不必担心抓错基于关于 MB/GB 的字符串排序 - 然后使用 Select-Object 获取第一个结果,如下所示:
Get-Partition -DiskNumber 1 | Sort-Object "Size" -Descending | Select-object -First 1 | Set-Partition -NewDriveLetter E
这将选择磁盘 1 上最大的分区:
Get-Partition -DiskNumber 1 | sort-object -property size -descending | select -first 1
希望对您有所帮助