【PowerShell】ファイルサイズを一覧表示して重たいファイルを特定する方法

PowerShell

「ディスク容量が足りない」「どのファイルが大きいのか知りたい」
こんなとき、いちいちエクスプローラーで1つずつチェックしていませんか?

PowerShellを使えば、フォルダ内のファイルサイズを一括で取得し、大きい順に一覧表示することができます。しかも一瞬で処理完了。

この記事では、容量の大きいファイルを簡単に見つけるPowerShellスクリプトを紹介します。

この記事でできること

  • PowerShellでフォルダ内のファイルサイズを一覧表示
  • サイズの大きい順に並べて重たいファイルを特定
  • サイズをMB・GBでわかりやすく表示
  • サブフォルダも含めて調査可能
  • CSV形式で保存もできる

基本スクリプト:ファイルサイズを一覧表示する

$folder = "C:\Users\YourName\Documents"

Get-ChildItem -Path $folder -File | Select-Object Name, @{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}

解説

Get-ChildItem -File:ファイルのみ取得
Select-Object:表示項目を選択
@{Name=…}:カスタム列の作成(サイズをMB単位で表示)

実行結果(例)

Name SizeMB
---- -------
report_2024.pdf 12.47
backup.zip 109.38
notes.txt 0.02

ファイル名とサイズ(MB)が一覧で出力され、視覚的に確認できます。

応用①:サイズ順に並べる(大きい順)

$folder = "C:\Your\Folder"

Get-ChildItem -Path $folder -File |
Sort-Object Length -Descending |
Select-Object Name, @{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}

ポイント

  • Sort-Object Length -Descending:サイズの大きい順に並べ替え
  • すぐに「容量を食っている犯人」がわかります!

応用②:サブフォルダも含めて調査する

Get-ChildItem -Path $folder -File -Recurse |
Sort-Object Length -Descending |
Select-Object FullName, @{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}}
  • -Recurse を追加するだけでサブフォルダも対象に
  • FullName を使えばフルパスで表示されるので場所も特定しやすい

応用③:CSV形式で保存してExcelで管理

$folder = "C:\Your\Folder"
$output = "$folder\file_sizes.csv"

Get-ChildItem -Path $folder -File -Recurse |
Sort-Object Length -Descending |
Select-Object FullName, @{Name="SizeMB";Expression={[math]::Round($_.Length / 1MB, 2)}} |
Export-Csv -Path $output -NoTypeInformation -Encoding UTF8
  • 出力結果は file_sizes.csv として保存され、Excelで開けます
  • チームで共有したい場合やバックアップにも便利です

よくあるエラーと対処法

アクセスが拒否されました

管理者としてPowerShellを実行してください。

日本語ファイル名が文字化けする

Export-Csv の -Encoding UTF8 を忘れずに。

空の結果になる

-File を指定していて、対象がフォルダだけだった可能性があります。外して確認してみましょう。

まとめ

PowerShellを使えば、重たいファイルの特定・サイズの可視化・CSV出力まで、すべて自動で処理できます。GUIでポチポチ探すより圧倒的に効率的。

しかも、一度スクリプトを書いておけば、毎回コピペするだけで再利用可能。ぜひ試してみてください!

タイトルとURLをコピーしました