Powershellでディレクトリサイズ一覧を取得するプログラムを書いてください。
PowerShellを使用して、ディレクトリサイズの一覧を取得するスクリプトを以下に示します。このスクリプトは、指定したディレクトリ内の各サブディレクトリのサイズを計算し、一覧表示します。
# ディレクトリのパスを指定します $targetDirectory = "C:\Your\Directory\Path" # ディレクトリ内の各サブディレクトリのサイズを取得して一覧表示します Get-ChildItem -Path $targetDirectory -Directory | ForEach-Object { $directory = $_ $directorySize = (Get-ChildItem -Path $directory.FullName -File -Recurse | Measure-Object -Property Length -Sum).Sum [PSCustomObject]@{ DirectoryName = $directory.Name SizeInBytes = $directorySize SizeInKB = [math]::Round($directorySize / 1KB, 2) SizeInMB = [math]::Round($directorySize / 1MB, 2) SizeInGB = [math]::Round($directorySize / 1GB, 2) } } | Format-Table -AutoSize
このスクリプトを使用するには、$targetDirectory 変数にディレクトリのパスを指定してから、PowerShellで実行してください。それにより、ディレクトリ内の各サブディレクトリの名前とサイズが表示されます。サイズはバイト、キロバイト、メガバイト、ギガバイトの単位で表示されます。
自分で書いたのと似たようなスクリプトになりますね。結果は以下のとおり。単位を変えて表示してくれるのが親切。
DirectoryName SizeInBytes SizeInKB SizeInMB SizeInGB ------------- ----------- -------- -------- -------- assembly 199413658 194739.9 190.18 0.19 authman 0 0 0 Framework 299379653 292362.94 285.51 0.28 Framework64 325518552 317889.21 310.44 0.3
ワンライナーに書き直してください。
ワンライナーでディレクトリサイズの一覧を取得するPowerShellコマンドは次の通りです。
Get-ChildItem -Directory -Recurse | ForEach-Object { [PSCustomObject]@{ Path = $_.FullName; SizeInMB = [math]::Round((Get-ChildItem $_.FullName -File -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB, 2) } } | Sort-Object SizeInMB -Descending | Format-Table -AutoSize
このコマンドは、指定したディレクトリ以下のすべてのサブディレクトリのサイズをMB単位で表示し、サイズが大きい順に一覧表示します。ディレクトリのパスとサイズ(MB)が表示されます。
うーん、これは期待したものとは違ってしまっている。
Path SizeInMB ---- -------- C:\Windows\Microsoft.NET\Framework64 310.44 C:\Windows\Microsoft.NET\Framework 285.51 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 217.13 C:\Windows\Microsoft.NET\Framework\v4.0.30319 199.99 C:\Windows\Microsoft.NET\assembly 190.18 C:\Windows\Microsoft.NET\assembly\GAC_MSIL 139.44 C:\Windows\Microsoft.NET\Framework64\v2.0.50727 74.45 C:\Windows\Microsoft.NET\Framework\v2.0.50727 67.39 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\NativeImages 45 C:\Windows\Microsoft.NET\Framework\v4.0.30319\NativeImages 38.77 C:\Windows\Microsoft.NET\assembly\GAC_64 25.74 C:\Windows\Microsoft.NET\assembly\GAC_32 24.99 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\WPF 22.92 C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF 22.56 C:\Windows\Microsoft.NET\Framework\v4.0.30319\ja 14.97 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ja 14.97 C:\Windows\Microsoft.NET\Framework\v3.0 11.85 ...