指定ディレクトリ直下の各ディレクトリサイズの合計を表示する
Windowsで各ディレクトリの合計値を確認したい時
エクスプローラーで確認するのも毎回面倒だし親ディレクトリしか合計サイズ分からない
Get-DirectorySizes.ps1
# 例としてC直下を指定
$path = "C:\"
$totalSize = 0
Get-ChildItem -Path $path -Directory | ForEach-Object {
$size = (Get-ChildItem $_.FullName -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum / 1GB
Write-Host ("{0}: {1:N2} GB" -f $_.Name, $size)
$totalSize += $size
}
Write-Host "--------------------"
Write-Host ("合計: {0:N2} GB" -f $totalSize)
各ディレクトリと全体のディレクトリサイズを表示する。
出力例
PS C:\Work\PowerShell> .\Get-DirectorySizes.ps1
# ...
# Install Module: 2.45 GB
# PerfLogs: 0.00 GB
# Program Files: 25.02 GB
# Program Files (x86): 5.22 GB
# Work: 59.92 GB
# SWSetup: 0.42 GB
# TEMP: 4.64 GB
# Users: 7.51 GB
# Windows: 45.74 GB
# ...
# --------------------
# 合計: 154.19 GB
PS C:\Work\PowerShell>