powershell 获得更大的磁盘可用空间

powershell get the bigger disk freespace

我可以用这个脚本获取我所有的逻辑驱动器和相应的空闲空间:

$elements = get-WmiObject Win32_LogicalDisk
$array=@()

foreach ( $drive in $elements ) {
    $freespace = $drive.freespace / (1024*1024*1024)
    $freespace = [math]::round($freespace, 1) 

    $name=$drive.Name
    $d=New-Object PSObject

    $d | Add-Member -Name Drive -MemberType NoteProperty -Value $name
    $d | Add-Member -Name Free_Space -MemberType NoteProperty -Value $freespace 

    $array+=$d

 }

问题是我无法弄清楚如何将我的 $array 操作为 return 具有更大可用空间的驱动器名称,例如 measure -Maximum

试试这个:

$LogicalDisks = get-WmiObject Win32_LogicalDisk

$MostSpace = 0
$MostName = "None"

foreach ( $drive in $LogicalDisks ) {

$FreeSpace = $drive.FreeSpace / (1024*1024*1024)

$FreeSpace = [math]::round($FreeSpace, 1)

if ($FreeSpace -gt $MostSpace) {
  $MostSpace = $FreeSpace
  $MostName = $Drive.Name
  }

}

Write-Host $MostName

它会将盘符放入 $MostName,然后您就可以用它做任何您想做的事了。