Come eliminare i file meno di X Days su Windows

Sommario:

Come eliminare i file meno di X Days su Windows
Come eliminare i file meno di X Days su Windows

Video: Come eliminare i file meno di X Days su Windows

Video: Come eliminare i file meno di X Days su Windows
Video: COME RESETTARE IL BIOS CON IL CLEAR CMOS IN MODO SEMPLICE - YouTube 2024, Novembre
Anonim
Vi abbiamo già mostrato quanto può essere flessibile la shell di Linux, ma ciò non vuol dire che Windows sia più indietro. Ecco due tecniche che puoi utilizzare in base alla preferenza della shell, cmd o PowerShell.
Vi abbiamo già mostrato quanto può essere flessibile la shell di Linux, ma ciò non vuol dire che Windows sia più indietro. Ecco due tecniche che puoi utilizzare in base alla preferenza della shell, cmd o PowerShell.

PowerShell 3

Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item

PowerShell 2

Get-ChildItem –Path “C:Backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Remove-Item

Spiegazione

  • In primo luogo otteniamo oggetti FileInfo e DirectoryInfo nel percorso C: Backups.
  • Gli oggetti FileInfo e DirectoryInfo contengono entrambi una proprietà CreationTime, quindi possiamo filtrare la raccolta usando quello.
  • L'operatore -lt (minore di) viene quindi utilizzato per confrontare la proprietà CreationTime degli oggetti con Get-Date (la data corrente) sottrarre 5 giorni.
  • Questo ci lascia quindi una collezione di oggetti che sono stati creati più di 5 giorni fa, che passiamo a Remove-Item.

Suggerimento

Per vedere cosa verrà rimosso puoi usare il parametro -WhatIf:

Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf

Image
Image

Prompt dei comandi

Mentre ti consigliamo di utilizzare uno dei metodi di PowerShell, senza entrare in nessuno dei grossi dettagli, puoi anche farlo dal prompt dei comandi.

forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'

Suggerimento

Per vedere quali file saranno cancellati puoi usare echo.

forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'

Consigliato: