1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShellによるフォルダサイズ確認

Last updated at Posted at 2024-07-23

🗂️💻 PowerShellで簡単!フォルダサイズを一括計算するスクリプト

こんにちは!今回は、PowerShellを使って指定したフォルダ内のサブフォルダサイズを簡単に計算するスクリプトをご紹介します。このスクリプトを使えば、大量のフォルダのサイズを瞬時に把握できます。さあ、一緒に見ていきましょう!

🌟 スクリプトの特徴

  • サブフォルダのサイズを自動計算
  • 結果を見やすい表形式で表示
  • 隠しファイルも含めて計算
  • エラーを無視して処理を継続

📝 スクリプト本体

$path = "C:\User\user"

Get-ChildItem -Path $path -Directory | ForEach-Object {
    $size = (Get-ChildItem $_.FullName -Recurse -Force -ErrorAction SilentlyContinue | 
             Where-Object { !$_.PSIsContainer } |
             Measure-Object -Property Length -Sum).Sum / 1MB
    [PSCustomObject]@{
        "Folder" = $_.Name
        "Size (MB)" = [math]::Round($size, 2)
    }
} | Format-Table -AutoSize

🔍 スクリプトの解説

  1. パスの設定:

    $path = "C:\User\user"
    

    計算したいフォルダのパスを指定します。必要に応じて変更してください。

  2. サブフォルダの取得:

    Get-ChildItem -Path $path -Directory
    

    指定したパス内のサブフォルダを全て取得します。

  3. 各フォルダのサイズ計算:

    ForEach-Object { ... }
    

    各サブフォルダに対して以下の処理を実行します。

  4. ファイルサイズの合計:

    $size = (Get-ChildItem $_.FullName -Recurse -Force -ErrorAction SilentlyContinue | 
             Where-Object { !$_.PSIsContainer } |
             Measure-Object -Property Length -Sum).Sum / 1MB
    
    • -Recurse: サブフォルダも含めて全てのファイルを取得
    • -Force: 隠しファイルも含める
    • -ErrorAction SilentlyContinue: エラーを無視して続行
    • Where-Object { !$_.PSIsContainer }: ファイルのみを対象とする
    • サイズの合計をMB単位に変換(GB単位にしたい場合は"1GB"とする)
  5. 結果のフォーマット:

    [PSCustomObject]@{
        "Folder" = $_.Name
        "Size (MB)" = [math]::Round($size, 2)
    }
    

    フォルダ名とサイズ(小数点2桁まで)を格納したオブジェクトを作成

  6. 表形式で表示:

    Format-Table -AutoSize
    

    結果を見やすい表形式で出力します。

💡 使い方

  1. スクリプトをテキストエディタにコピーし、.ps1拡張子で保存します(例:GetFolderSizes.ps1)。
  2. $path変数を、計算したいフォルダのパスに変更します。
  3. PowerShellを開き、スクリプトのあるディレクトリに移動します。
  4. 以下のコマンドでスクリプトを実行します:
    .\GetFolderSizes.ps1
    

🚀 活用例

  • 大量のプロジェクトフォルダのサイズを一括チェック
  • バックアップ前にフォルダサイズを確認
  • ディスククリーンアップの際の対象フォルダ選定

⚠️ 注意点

  • PowerShellの実行ポリシーが適切に設定されていることを確認してください。
  • 大量のファイルやサブフォルダがある場合、処理に時間がかかる場合があります。

🎉 おわりに

このスクリプトを使えば、フォルダサイズの管理が格段に楽になります。ぜひ試してみてください!カスタマイズや改善点があれば、コメントで教えてくださいね。Happy PowerShelling! 🚀💻

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?