powershell - 计算可用磁盘空间百分比powershell
问题描述
我正在尝试获得磁盘管理中的免费百分比
$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
例如,这是它在我的笔记本电脑上的 DrivesC
和外观D
:
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%
推荐阅读
- python - Pygame Lightning 动画使用 pygame.timer.set_timer()
- scala - 如何在不知道其架构的情况下仅在 scala 中读取 CSV 文件来设置/分配数据类型
- html - 如何删除浮动 h1 标签之间的换行符?
- delphi - SHGetPathFromIDList (Delphi) - 误报问题
- html - 如果存在特定的 CSS 类组合,则更改另一个类的 CSS
- git - 在 git 遥控器之间同步分支的过程
- php - 允许来自我的 ASP.Net MVC 站点的用户访问我的私人 WordPress 站点
- c++ - 用于生成核心文件的 C++ 代码,就像 gdb >> gcore 一样
- javascript - CoreUI 一次只有一个下拉菜单
- asp.net-mvc-5 - @html.dropdown onchange 事件 MVC5