WindowsでX日より古いファイルを削除する方法
Linuxシェルがどれほど柔軟であるかについてはすでに説明しましたが、Windowsがこれ以上遅れているわけではありません。シェルの設定(cmdまたはPowerShell)に応じて使用できる2つの手法があります。.
PowerShell 3
Get-ChildItem -Path“ C:\ Backups” Where-Object CreationTime -lt(Get-Date).AddDays(-5)|アイテムの削除
PowerShell 2
Get-ChildItem -Path“ C:\ Backups” Where-Object $ _。CreationTime -lt(Get-Date).AddDays(-5) |アイテムの削除
説明
- まず、パスC:\ BackupsにFileInfoオブジェクトとDirectoryInfoオブジェクトを取得します。.
- FileInfoオブジェクトとDirectoryInfoオブジェクトの両方にCreationTimeプロパティが含まれているので、それを使用してコレクションをフィルタリングできます。.
- 次に、-lt(小なり)演算子を使用して、オブジェクトのCreationTimeプロパティをGet-Date(現在の日付)から5日を引いた値と比較します。.
- これにより、5日以上前に作成されたオブジェクトのコレクションが残り、それをRemove-Itemに渡します。.
プロのヒント
何が削除されるのかを確認するには、-WhatIfパラメータを使用します。
Get-ChildItem -Path“ C:\ Backups” Where-Object CreationTime -lt(Get-Date).AddDays(-5)|アイテムの削除
コマンド・プロンプト
PowerShellの方法の1つを使用することをお勧めしますが、細かい点には触れずにコマンドプロンプトからも実行できます。.
forfiles -p "C:\ Backups" -s -m *。* -d -5 -c "cmd / c del @path"
プロのヒント
どのファイルが削除されようとしているかを見るために、echoを使うことができます。.
forfiles -p "C:\ Backups" -s -m *。* -d -5 -c "cmd / c echo @file"