【AIによる回答】
PowerShellを使用して、指定したディレクトリ内のサブフォルダを含め、サイズが大きい順にフォルダのリストを作成する方法を紹介します。目的や好みに合わせていくつかの方法がありますが、最も一般的で実用的なコマンドは以下の通りです。1. サイズが大きいフォルダのリストを作成するコマンド (基本)このコマンドは、現在のフォルダ配下のサブフォルダのサイズを計算し、大きい順にトップ10を表示します。powershellGet-ChildItem -Directory | Select-Object FullName, @{Name="Size(MB)";Expression={ (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum / 1MB }} | Sort-Object "Size(MB)" -Descending | Select-Object -First 102. サイズをGBで表示し、CSVファイルに書き出す大規模なフォルダを調査する場合、MBでは数値が大きくなりすぎるため、GB単位にして結果をCSVファイルに保存します。powershell$targetPath = "C:\Your\Target\Folder" # 調査したいフォルダパス $outputFile = "C:\temp\FolderSizes.csv" # 出力先CSVパス Get-ChildItem -Path $targetPath -Directory | Select-Object FullName, @{Name="Size(GB)";Expression={ (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum / 1GB }} | Sort-Object "Size(GB)" -Descending | Export-Csv -Path $outputFile -NoTypeInformation -Encoding UTF8コマンドの解説
Get-ChildItem -Directory: サブフォルダのみを取得します。Get-ChildItem -Recurse -File: フォルダ配下の全ファイルを再帰的に取得します。-ErrorAction SilentlyContinue: アクセス権がないフォルダなどでエラーが出ても停止せず続行します。Measure-Object -Property Length -Sum: 取得したファイルの合計サイズ(バイト)を計算します。/ 1MBまたは/ 1GB: バイト単位の数値をMBやGBに変換します。Sort-Object ... -Descending: 大きい順に並べ替えます。Export-Csv: 結果をCSVファイルに出力します。GMO Developers +5注意点
- 実行時間: ファイル数やフォルダの深さによっては、計測に時間がかかる場合があります。
- アクセス権限: 管理者権限が必要なフォルダを調査する場合は、PowerShellを「管理者として実行」してください。
