Kako izbrisati datoteke starije od X dana na Windowsima
Već smo vam pokazali koliko je fleksibilna Linux ljuska, ali to ne znači da je Windows još iza. Evo dvije tehnike koje možete koristiti ovisno o vašim ljuljkama, cmd ili PowerShell.
PowerShell 3
Get-ChildItem -Path “C: Sigurnosne kopije” -Recurse | Gdje-Objekt CreationTime-lt (Get-Datum) .AddDays (-5) | Uklanjanje stavke za
PowerShell 2
Get-ChildItem -Path “C: Sigurnosne kopije” -Recurse | Gdje-objekt $ _. Vrijeme stvaranja-lt (Get-Date) .AddDays (-5) | Uklanjanje stavke za
Obrazloženje
- Prvo dobivamo FileInfo i DirectoryInfo objekte u Path C: Backupima.
- Objekti FileInfo i DirectoryInfo sadrže svojstvo CreationTime, tako da možemo filtrirati kolekciju koristeći to.
- Operator -lt (manje od) se zatim koristi za usporedbu CreationTime svojstva objekata s Get-Date (tekući datum) oduzima 5 dana.
- To nam onda ostavlja zbirku objekata koji su stvoreni prije više od 5 dana, a koje prosljeđujemo na Remove-Item.
Pro Savjet
Da biste vidjeli što će se ukloniti, možete upotrijebiti parametar -WhatIf:
Get-ChildItem -Path “C: Sigurnosne kopije” -Recurse | Gdje-Objekt CreationTime-lt (Get-Datum) .AddDays (-5) | Remove-Item -What If
Naredbeni redak
Iako vam preporučujemo da koristite jednu od metoda PowerShell, a da ne ulazite ni u jednu od istinitih detalja, možete to učiniti iz naredbenog retka.
forfiles -p "C: Kopije" -s -m *. * -d -5 -c "cmd / c del @path"
Pro Savjet
Da biste vidjeli koje datoteke će se izbrisati možete koristiti echo.
forfiles -p "C: Kopije" -s -m *. * -d -5 -c "cmd / c echo @file"