(Using Windows 2000 and 2003 Server)
We use forfiles.exe to delete backup .zip files older than n days, and it works great (command is a bit like below)
forfiles -p"C:\Backup" -m"*.zip" -c"cmd /c if @ISDIR==FALSE del \"@PATH\@FILE\"" -d-5
If a .zip file fails to be created, I’d like to ensure that we don’t end up with 0 .zip files in the backup after 5 days. Therefore, the command needs to be:
“delete anything older than 5 days, but ALWAYS keep the most recent 5 files, EVEN if they themselves are older than 5 days”
We can use forfiles.exe or another solution (although anything that is a slick one-liner is ALWAYS preferable to a script file).
Thanks!
Will delete all files except the 5 newest ones. I couldn’t find a one-liner to keep all files newer than 5 days so for that you might have to use some more complicated logic.
Lists only file names without extra info
Sorts list by reverse date order.
Filters to only show non-directory files
skips the 5 first lines (5 newest ones).