计算空闲磁盘空间百分比



我正在尝试获得磁盘管理

中的空闲百分比
$Diskmgmt = Get-Volume | select DriveLetter,FileSystemLabel,FileSystem,DriveType,HealthStatus,OperationalStatus,SizeRemaining,Size
foreach($dsk in $Diskmgmt)
{
$dl = $dsk.DriveLetter
$fsl = $dsk.FileSystemLabel
$fs = $dsk.FileSystem
$dt = $dsk.DriveType
$hs = $dsk.HealthStatus
$os = $dsk.OperationalStatus
$sizer = [math]::round($dsk.SizeRemaining /1Gb, 2)
$siz = [math]::round($dsk.Size /1Gb, 2)
$PercentFree =  [Math]::Round(($sizer / $siz) * 100, 2)

但是在

下面
Capacity     Free Space %Free
154.82 GB     200 GB     77 % 
0 GB          0 GB       77 % 
1.96 GB       6 GB       33 % 
0.15 GB       0.49 GB    31 % 
52.32 GB      99.51 GB   53 % 
11.19 GB      11.23 GB   100 % 
9.95 GB       10 GB      99 % 

请让我知道我做的是否正确。

我猜你在找这样的东西:

$props = @(
'DriveLetter'
'FileSystemLabel'
'FileSystem'
'DriveType'
'HealthStatus'
'OperationalStatus'
@{
Name = 'SizeRemaining'
Expression = { "{0:N3} Gb" -f ($_.SizeRemaining/ 1Gb) }
}
@{
Name = 'Size'
Expression = { "{0:N3} Gb" -f ($_.Size / 1Gb) }
}
@{
Name = '% Free'
Expression = { "{0:P}" -f ($_.SizeRemaining / $_.Size) }
}
)
Get-Volume -DriveLetter C, D | Select-Object $props | Format-Table

作为一个例子,这是我的笔记本电脑上驱动器CD的样子:

DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size       % Free
----------- --------------- ---------- --------- ------------ ----------------- ------------- ----       ------
D                 NTFS       Fixed     Healthy      OK                748.731 Gb    931.512 Gb 80.38%
C                 NTFS       Fixed     Healthy      OK                170.959 Gb    236.764 Gb 72.21%

使用get-psdrive和'p'格式说明符:

get-psdrive c | % { $_.free/($_.used + $_.free) } | % tostring p
9.24%

最新更新