更新日:2019/10/23
$SearchFolder = "c:\Program Files (x86)"
$Items = Get-ChildItem $SearchFolder | Where-Object {$_.PSIsContainer -eq $true} | Sort-Object
$output=@("")
foreach ($i in $Items)
{
$subFolderItems = Get-ChildItem $i.FullName -recurse -force | Where-Object {$_.PSIsContainer -eq $false} | Measure-Object -property Length -sum | Select-Object Sum
$output += "{0:000000.0000}" -f ($subFolderItems.sum / 1MB) + "MB" + "---" + $i.FullName
}
$output | sort-object -Descending | head -10
ちなみにC:\Windows や C:\Users はアクセスが拒否され検索が失敗する場合があるようです。
実行結果
以下はc:\Program Files (x86) で実行した結果です。Office で約2351M、要するに2.3G消費していることが分かります。
その他VisualStudioなどが大きなサイズを使用していることが分かります。
002351.7345MB---C:\Program Files (x86)\Microsoft Office
002252.8694MB---C:\Program Files (x86)\Microsoft Visual Studio
002237.1576MB---C:\Program Files (x86)\Microsoft Visual Studio 14.0
001444.6551MB---C:\Program Files (x86)\Windows Kits
001249.9736MB---C:\Program Files (x86)\Common Files
000789.0993MB---C:\Program Files (x86)\Reference Assemblies
000613.3468MB---C:\Program Files (x86)\Microsoft SDKs
000466.3922MB---C:\Program Files (x86)\Google
000446.5993MB---C:\Program Files (x86)\AWS SDK for .NET
000363.7683MB---C:\Program Files (x86)\Adobe
プログラムを改造する
以下で結果をサイズでソートし、かつ上位10を表示しています。head -10 の部分を変更すれば表示項目を変更することが可能です。
$output | sort-object -Descending | head -10
以下はC:\Program Filesに対して head -5 で実行した結果です。
003960.3512MB---C:\Program Files\Adobe
001084.7996MB---C:\Program Files\CyberLink
001041.7090MB---C:\Program Files\Common Files
000473.3763MB---C:\Program Files\Microsoft SQL Server
000291.8507MB---C:\Program Files\Intel
ファイルサイズが小さい順に表示する
小さい順に実行するにはsort-objectをパラメータなしで実行します。
$output | sort-object | head -10
以下は実行結果です。
PS C:\> $output | sort-object | head -10
000000.0000MB---C:\Program Files\ModifiableWindowsApps
000000.0000MB---C:\Program Files\test
000000.0012MB---C:\Program Files\Online Services
000000.0246MB---C:\Program Files\MSBuild
000000.0455MB---C:\Program Files\Windows Multimedia Platform
000000.0455MB---C:\Program Files\Windows Portable Devices
000000.1053MB---C:\Program Files\Windows Security
000000.1391MB---C:\Program Files\Roxio
000000.5855MB---C:\Program Files\Bonjour
[Powershell FAQ トップへ]
[FAQ CENTER トップ]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018