WindowsのPowerShellで世代バックアップ

以下コマンドで5世代までのバックアップを取ることができる。
コピーしたファイルは更新日時は変化せず作成日時がコピーした日時になるので、LastWriteTimeではなくCreationTimeで並び替えている。
コマンドプロンプトで同じことをしようとした場合と比べるとかなり分かりやすい。

cp "hoge.txt" "hoge.txt.$(Get-Date -Format yyyyMMddHHmmss)"
ls "hoge.txt.*" | sort CreationTime -desc | select -skip 5 | rm