Kako izbrisati datoteke starejše od X dni na Windows
Pokazali smo vam, kako prilagodljiva je lahko lupina Linuxa, vendar to ne pomeni, da je Windows še zaostajal. Evo dveh tehnik, ki jih lahko uporabite glede na vaše nastavitve lupine, cmd ali PowerShell.
PowerShell 3
Get-ChildItem -Path “C: Backup” -Preizkusi Where-Object CreationTime -lt (dobite-datum) .AddDays (-5) | Odstrani postavko
PowerShell 2
Get-ChildItem -Path “C: Backup” -Preizkusi Kje-predmet $ _. Čas ustvarjanja -lt (dobite-datum) .AddDays (-5) | Odstrani postavko
Razlaga
- Najprej dobimo FileInfo in DirectoryInfo objekte na poti C: Backupi.
- Objekti FileInfo in DirectoryInfo vsebujejo lastnost CreationTime, zato lahko zbirko filtriramo s tem.
- Operator -lt (manj kot) se nato uporablja za primerjavo lastnosti CreationTime objektov z Get-Date (trenutni datum) odšteje 5 dni.
- To nas potem pusti v zbirki predmetov, ki so bili ustvarjeni pred več kot 5 dnevi, ki jih preidemo na Remove-Item.
Pro tip
Če si želite ogledati, kaj bo odstranjeno, lahko uporabite parameter -WhatIf:
Get-ChildItem -Path “C: Backup” -Preizkusi Where-Object CreationTime -lt (dobite-datum) .AddDays (-5) | Odstrani postavko -Kaj?
Ukazni poziv
Čeprav vam priporočamo, da uporabite eno od načinov PowerShell, ne da bi se spuščali v nobeno od podrobnih podrobnosti, lahko to storite tudi iz ukaznega poziva.
forfiles -p "C: Kopije" -s -m *. * -d -5 -c "cmd / c del @path"
Pro tip
Če želite videti, katere datoteke bodo izbrisane, lahko uporabite odmev.
forfiles -p "C: Kopije" -s -m *. * -d -5 -c "cmd / c echo @file"