PowerShellでバックアップファイルの世代管理

はじめに

WindowsServerでバックアップ関連の自動化がPowerShellだとワンライナーですむこと多くて感動したのでメモ。

もっと早くPowerShell覚えておけばよかった…orz

環境情報

  • Windows10
  • PowerShell5.1

バックアップファイルの世代管理

最新10ファイルのみ残して、古いファイルを削除するワンライナーはこちら

Get-ChildItem C:\bakcup | Sort-Object LastWriteTime -Descending | Select-Object -skip 10 | ForEach-Object {Remove-Item $_.FullName}

同じ処理をコマンドレットのエイリアスを使って書くとこんな感じ

ls C:\bakcup | sort LastWriteTime -Descending | select -skip 10 | foreach {rm $_}

↑エイリアスとコマンドレットの対応関係は以下のとおり。

  • Get-ChildItem -> ls
  • Sort-Object -> sort
  • Select-Object -> select
  • ForEach-Object -> foreach

はじめに見ておくとPowerShellの理解が深まるサイト

おわりに

Cygwin入れたりPython入れたりしなくても、標準で入ってるPowerShellで単純なファイル操作は十分ですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA