PowerShellでduコマンドのようにディレクトリ容量を確認する方法|合計サイズを表示

目次

スポンサードリンク

Linuxではディレクトリやファイルのサイズを確認する際に du コマンドを使います。ディレクトリ内のファイルの合計サイズを確認できる便利なコマンドですが、PowerShellには標準でduというコマンドはありません。PowerShellでは、Get-ChildItem コマンドと Measure-Object コマンドを組み合わせて同等の機能を実現することができます。

ディレクトリ容量を調べる基本的な方法

以下コマンドを実行するとカレントディレクトリ配下にあるファイル全ての合計サイズを確認することができます。

Get-ChildItem -Recurse -File | Measure-Object -Property Length -Sum

実際に試した結果です。C:\Users\username配下には、合計18,229個のファイルがあり、その合計サイズは、9594008308バイトだと分かります。

PS C:\Users\username> Get-ChildItem -Recurse -File | Measure-Object -Property Length -Sum


Count    : 18229
Average  :
Sum      : 9594008308
Maximum  :
Minimum  :
Property : Length

単位がバイト数では分かりにくいので、MBなどに換算したい場合は以下のように実行します。上記コマンドのSumの行を対象に、1MB 単位で割った値を、”{0:N2} MB” -f でMB単位として表示しています。

PS C:\Users\username> "{0:N2} MB" -f ((Get-ChildItem -Recurse -File | Measure-Object Length -Sum).Sum / 1MB)

Microsoftが提供する duコマンドを利用する

Microsoftが提供する Sysinternalsツール には、Linuxのduコマンドに相当する du.exe が含まれています。Microsoft公式サイトから「Sysinternals Suite」をダウンロードし、任意のパスに展開して利用することもできます。

ダウンロードページ
https://learn.microsoft.com/sysinternals/

PowerShellで du 相当の操作を行うには、標準コマンドの組み合わせでも十分対応可能ですが、Linux相当の使用感を求める場合は、du.exe の導入を検討してみるとよいでしょう。


コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。

PowerShellの基礎を一通り学べるおすすめ書籍