【问题标题】:powershell get the bigger disk freespacepowershell 获得更大的磁盘可用空间
【发布时间】:2015-08-05 02:27:46
【问题描述】:

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

$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 以返回具有更大可用空间的驱动器的名称,例如measure -Maximum

【问题讨论】:

  • 更大?相对(百分比)和绝对(字节)?
  • 嗯,$Array|Sort Free_Space|Select -Last 1 不适合你?或者您是否正在寻找最大百分比的可用驱动器空间?
  • 你好 Mathias,它不会返回可用空间最大的驱动器

标签: powershell drive


【解决方案1】:

试试这个:

$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 中,然后你可以用它做你想做的事情。

【讨论】:

  • 欢迎。此外,从技术上讲,您可能也可以摆脱我们将字节转换为 GB 的两行。
猜你喜欢
  • 2019-12-12
  • 2010-11-26
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 2018-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多