Windows 10でフォルダーごとの使用量を確認する方法(duコマンド)

Windows 10でフォルダーごとの使用量を確認する方法(duコマンド)

Windows環境を長期間利用していると、いろいろなデータが蓄積されてディスクの空き容量が少なくなってくるものです。

そんなとき、フォルダーごとの使用量を確認できれば、どのフォルダーが容量を消費しているかや、不要なデータを洗い出すのにも役立ちます。

そこでここでは、Microsoftが提供しているシステム管理ツール「Windows Sysinternals」に含まれるdu(Disk Usage)コマンドと、PowerShellを組み合わせて、フォルダーごとの使用量を確認する方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit1909

duコマンドの入手

duコマンドは以下のWebページからダウンロードが可能です。

Disk Usage - Windows Sysinternals | Microsoft Docs

Windows 10でフォルダーごとの使用量を確認する方法(duコマンド)

ダウンロードしたZIPファイルは、展開して中にある「du.exe」を任意の場所に配置しておきます。(duコマンドを実行するときに、フルパスで指定したくない場合は、パスが通ったフォルダーに配置しておくのがよいでしょう。)

Memo

Sysinternalsでは、上のようにツールをダウンロードして実行するほかに、インターネット上に配置されたツールを直接実行できる「Sysinternals Live」というサービスも提供されています。

「Sysinternals Live」を利用するときは、実行ファイルを指定するときに「\live.sysinternals.com/tools/du.exe」というように指定します。

Sysinternals Live - Windows Sysinternals | Microsoft Docs

Windowsの管理やトラブルシューティングで役立つMicrosoft製ツール「Windows Sysinternals」
ここでは、「Windows Sysinternals」の基本的な使い方や、どのようなツールが含まれているのかを紹介します。

フォルダーごとの使用量を確認する

duコマンドの配置が済んだら、PowerShellを起動して調査開始です。

以下のコマンドでは、Cドライブにあるフォルダーごとの使用量を、大きい順にTop10形式で出力します。

PS> du.exe -accepteula -nobanner -c -l 1 C: | ConvertFrom-Csv | Sort-Object -Descending {[decimal] $_.DirectorySizeOnDisk} | Select-Object -First 10 | Format-Table -AutoSize

「Sysinternals Live」で実行したい場合は、次のように実行します。

PS> \\live.sysinternals.com/tools/du.exe -accepteula -nobanner -c -l 1 C: | ConvertFrom-Csv | Sort-Object -Descending {[decimal] $_.DirectorySizeOnDisk} | Select-Object -First 10 | Format-Table -AutoSize

いくつかのコマンドをパイプでつなげていますが、各コマンドでは次のような処理を行っています。

du.exe -accepteula -nobanner -c -l 1 C:

duコマンドでは、Cドライブを検索対象として第一階層目のフォルダー(-l 1)の使用量を調べて、結果をカンマ区切りのCSV形式で出力(-c)しています。

「-accepteula -nobanner」の部分は、余計な情報が出力されないようにするためのおまじないです。

ConvertFrom-Csv

次の「ConvertFrom-Csv」では、duコマンドで出力されたCSV形式のテキストデータを、PowerShellで処理できるオブジェクトに変換しています。

Sort-Object -Descending {[decimal] $_.DirectorySizeOnDisk}

次の「Sort-Object」コマンドレットでは、duコマンドで出力されたデータを「DirectorySizeOnDisk」列の数値を基に、降順(-Descending)で並べ替えています。

Select-Object -First 10

次の「Select-Object」コマンドレットでは、出力データから使用量の大きいフォルダーのTop10だけを抽出しています。

Format-Table -AutoSize

最後の「Format-Table」コマンドレットでは、上で抽出したオブジェクトを見やすいように表形式で出力しています。

最終的な出力は、次のような感じになります。

Windows 10でフォルダーごとの使用量を確認する方法(duコマンド)

あとがき

ここで紹介したコマンドを実行した後は、さらに使用量が大きいフォルダーに絞って調査を進めることで、データ整理に役立てることができるでしょう。

お試しあれ。