ホームページ » の仕方 » WindowsでX日より古いファイルを削除する方法

    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"