最終更新日付(月単位)でディレクトリの中身を集計してファイルサイズと個数を出力する
@{Path = "./"; Recurse = $true } | ForEach-Object { Get-ChildItem @_ } | Group-Object { $_.LastWriteTime.ToString('yyyy-MM') } | Select-Object @{ Name = 'LastWriteTime'; Expression = { $_.Name } } , @{Name = 'Size(MB)'; Expression = { ($_.Group | Measure-Object Length -Sum).Sum / 1MB -as [decimal] } } , @{Name = 'FileCount'; Expression = { ($_.Group | Measure-Object).Count } } | Sort-Object LastWriteTime
グループ化した時のGroupを残し詳細を調査したい
@{Path = "./"; Recurse = $true } | ForEach-Object { Get-ChildItem @_ } | Group-Object { $_.LastWriteTime.ToString('yyyy-MM') } | Select-Object @{ Name = 'LastWriteTime'; Expression = { $_.Name } } , @{Name = 'Size(MB)'; Expression = { ($_.Group | Measure-Object Length -Sum).Sum / 1MB -as [decimal] } } , @{Name = 'FileCount'; Expression = { ($_.Group | Measure-Object).Count } } , Group | Sort-Object LastWriteTime
@{Path = "./"; Recurse = $true }の部分に調査したいフォルダパスを入力
サブディレクトリも対象にしたい場合はRecurse = $true
対象にしたくない場合はRecurse = $false
コメント