LoginSignup
4
1

More than 3 years have passed since last update.

Windows で古いファイルを削除するコマンド(バッチ)

Posted at

bat で古いファイルを削除したいという要望があり、調査した結果のメモです。

コマンド

例:「D:\FTP」フォルダーにある、30日以上前の csv ファイルを削除する。
forfiles /p D:\FTP /d -30 /m "*.csv" /c "cmd /c del @file"

動作確認

1. ダミーファイルを作成する
copy nul 1日前.txt
copy nul 2日前.txt
copy nul 3日前.txt
copy nul 4日前.txt
copy nul 5日前.txt
copy nul 6日前.txt
copy nul 7日前.txt
2. ダミーファイルのタイムスタンプを変更する(PoweShellで実行)
Set-ItemProperty "1日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-1)
Set-ItemProperty "2日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-2)
Set-ItemProperty "3日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-3)
Set-ItemProperty "4日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-4)
Set-ItemProperty "5日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-5)
Set-ItemProperty "6日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-6)
Set-ItemProperty "7日前.txt" -Name LastWriteTime -Value (Get-Date).AddDays(-7)
3. 3日前より古いのファイルを削除する(C:\tmp にファイルがあるとする)
forfiles /p C:\tmp /d -3 /m "*.txt" /c "cmd /c del @file"
4. 結果確認
C:\tmp>dir
(省略)
2021/03/24  14:19                 0 1日前.txt
2021/03/23  14:19                 0 2日前.txt
(省略)
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1