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,然后您就可以用它做任何您想做的事了。
我可以用这个脚本获取我所有的逻辑驱动器和相应的空闲空间:
$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,然后您就可以用它做任何您想做的事了。