Hirosaji Tech Blog 🍙

Web開発の記事が多め。絵師支援の記事も少し。

容量順に各ディレクトリの名前と容量を並べたCSVをつくる

注:かなり雑な実現方法の備忘録なので、過度な期待は禁止です₍₍⁽⁽🌵₎₎⁾⁾


先日、ハードディスクの空き容量を増やすため、容量の大きいディレクトリを調べるための方法を探していました。
いくつかの方法を組み合わせれば、特にプログラムを組むことなく容量の大きいディレクトリを発見できるようです。

今回は、カレントディレクトリ内のディレクトリの容量を、容量順に並べたcsvを作るまでの手順を紹介します。

手順

1. PowerShellで容量を出力する

PowerShellGet-Childitem コマンドを使うことで、ディレクトリの容量を取得することができます。

カレントディレクトリ内のすべてのディレクトリを取得するコマンドは次の通りです。

Get-Childitem -Path ./ -Directory | ForEach-Object -Process{Write-Host $_; Get-Childitem -Path $_ -Recurse | Measure-Object -property length -sum | Format-List count, sum}

参考:[備忘録]Windows10:フォルダ毎の容量を調べる方法 | CEOブログ

上記のコマンドを実行したら、標準出力結果をコピーして、適当なテキストエディタに貼り付けてください。

PowerShellで標準出力の行数が足りない場合
こちらの記事を参考に、行数の上限を増やすと良いです。
コマンドプロンプトの最大バッファリング行数を約3万2000行まで拡大する:Tech TIPS - @IT

2. 出力結果を整形してCSVで保存

コピーした出力結果をエディタに貼り付けたら、エディタの置き換え機能を使って、テキストを整形します。

置き換えは、次の4回です。

  1. \n\n\n -> \n
  2. \nCount : -> ,
  3. \nSum : -> ,
  4. \n\n -> \n

置き換えが終わったら、好みのヘッダーを追加(例: Name,Count,Sum)して、CSVとして保存してください。

3. 保存したCSVのデータをExcelで並べ替える

保存したCSVExcelで開き、Excelの機能で並べ替えます。

例えば、Excelのデータタブにあるソート機能を使うなどです。
もしわからなければ、「Excel ソート」などで検索して調べてみてください。

おわりに

かなり雑な方法ですが、これでたくさん容量を食っているディレクトリを探すことができます。

もし同様の解決ができる便利なスクリプトがあったら、ぜひ教えていただけると嬉しいです。