Ako odstrániť súbory staršie ako X dní v systéme Windows

Obsah:

Ako odstrániť súbory staršie ako X dní v systéme Windows
Ako odstrániť súbory staršie ako X dní v systéme Windows
Anonim
Už sme vám ukázali, aký flexibilný môže byť Linux shell, ale to neznamená, že systém Windows je ďalej za sebou. Tu sú dve techniky, ktoré môžete použiť v závislosti od preferencie shell, cmd alebo PowerShell.
Už sme vám ukázali, aký flexibilný môže byť Linux shell, ale to neznamená, že systém Windows je ďalej za sebou. Tu sú dve techniky, ktoré môžete použiť v závislosti od preferencie shell, cmd alebo 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

vysvetlenie

  • Najprv získame objekty FileInfo a DirectoryInfo v ceste C: Backups.
  • Objekty FileInfo a DirectoryInfo obsahujú vlastnosť CreationTime, takže môžeme túto kolekciu filtrovať.
  • Operátor -lt (menej ako) sa potom použije na porovnanie vlastností CreationTime objektov s Get-Date (aktuálny dátum), odpočítať 5 dní.
  • Toto nám potom necháva zbierku objektov, ktoré boli vytvorené pred viac ako 5 dňami, ktoré prejdeme na položku Odstrániť.

Pro Tip

Ak chcete zistiť, čo bude odstránené, môžete použiť parameter -WhatIf:

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

Image
Image

Príkazový riadok

Aj keď vám odporúčame použiť jednu z metód PowerShell, bez toho, aby ste sa dostali do žiadnej z podrobných detailov, môžete to urobiť aj z príkazového riadku.

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

Pro Tip

Ak chcete zistiť, ktoré súbory sa majú odstrániť, môžete použiť echo.

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

Odporúča: