dirコマンドでフォルダの大きさを調べる¶
コマンドプロンプトで使うdirコマンドについてのメモです。
SSDというのはアクセス速度が速くてとっても快適です。しかしながら、ドライブあたりの容量が小さいのが難点です。100GBクラスのSSDを起動ドライブとして使ってたりして、HDDが普及し始めたときのように残り容量を見ながらやりくりしてたりします。
そうすると、時々どのフォルダの占有率が高いのか知りたくなってきます。
エクスプローラーでフォルダを右クリックしてプロパティを表示させると、そのフォルダのディスク使用量を計算して表示してくれます。でも、一つ一つプロパティを見てメモっていくというのも大変なので、一気に取得してみたいと思います。
目次
dirコマンドでフォルダの大きさを調べてみる¶
コマンドプロンプトでdirと打つと、そのフォルダのファイルとディレクトリの一覧を表示してくれます。
dirコマンドにはいろいろオプションがあって、dir /?とすると各オプションの説明が表示されます。
> dir /s /a-d /-c
とすると、
サブディレクトリのファイルも表示する。
ディレクトリ名は表示しない。
ファイルサイズの桁区切りのカンマは表示しない。
という条件でファイルの一覧を表示してくれます。下図のような感じです。
これで、ディレクトリ名とそのディレクトリのディスク使用量が表示されます。あとはこれを集計すればよいわけです。
さて、どうやって集計しようか。
この出力をテキストファイルにリダイレクトして、Excelでスペース区切りのテキストデータとして読み込むと集計が楽になります。
PowerShellでフォルダの大きさを調べてみる¶
Windowsの標準機能のPowerShellで、フォルダに含まれるファイルのサイズを集計してみます。
調べたいフォルダをエクスプローラーで開いて、 Shift キーを押しながら 右クリック すると、右クリックメニューの中に「PowerShellウィンドウをここで開く」というメニューが表示されます。そのメニューを開くと、カレントディレクトリをそのフォルダにした状態でPowerShellウィンドウが開きます。
Windowsをインストールしたままの状態であれば、Windows PowerSehllという名前のウィンドウが開いて、青色のコンソールウィンドウに下記のように表示されます。
PS C:\Program Files\Python37>
> の後ろにコマンドが入力できるようになっているので、下記コマンドを入力して実行します。
> Get-Childitem -Path ./ -Directory | ForEach-Object -Process{Write-Host $_; Get-Childitem -Path $_ -Recurse | Measure-Object -property length -sum | Format-List count, sum}
そうすると、下記のように表示されます。
PS C:\Program Files\Python37> Get-Childitem -Path ./ -Directory | ForEach-Object -Process{Write-Host $_; Get-Childitem -Path $_ -Recurse | Measure-Object -property length -sum | Format-List count, sum}
DLLs
Count : 37
Sum : 11021857
Doc
Count : 1
Sum : 8534435
etc
Count : 1
Sum : 72
include
Count : 100
Sum : 603508
Lib
Count : 45845
Sum : 1475326432
libs
Count : 4
Sum : 1741384
Scripts
Count : 105
Sum : 6141797
share
Count : 130
Sum : 5804923
tcl
Count : 1260
Sum : 7996419
Tools
Count : 102
Sum : 551720
上記のように、サブフォルダの名前、そこに含まれるファイルの数、そこに含まれるファイルのサイズの合計が表示されます。
これで、どのフォルダが大きいかわかりますね。
更新日
公開日