【Powershell】フォルダの容量を取得する

WindowsのPowershellで、サブフォルダも含めたフォルダのサイズを調べたいとき。

Powershellでフォルダの容量を取得する

#容量を取得するフォルダパス
$filePath = "C:\"

#スクリプトのパス
$scriptRoot = Split-Path -Path $MyInvocation.MyCommand.Path
#スクリプトのパスに移動
cd $scriptRoot

"処理開始:" + (Get-Date).ToString("yyyy/MM/dd HH:mm:ss")

#指定パスのフォルダサイズを再帰的に取得(サブフォルダも含む)
#取得結果はスクリプトパスに出力
Get-ChildItem $filePath `
    | Sort LastWriteTime `
    | Select-Object Name, LastWriteTime, @{ name = "Size"; expression = { `
            [math]::round((Get-ChildItem $_.FullName -Recurse -Force `
                | Measure-Object Length -Sum `
            ).Sum ) `
    } } | Format-Table -AutoSize > FolderSize.txt

"処理終了:" + (Get-Date).ToString("yyyy/MM/dd HH:mm:ss")

PowerShellの拡張子って「.ps1」なんですね。

「1」はなんなんでしょう…