Как да изтриете файлове, по - стари от Х дни в Windows

Съдържание:

Как да изтриете файлове, по - стари от Х дни в Windows
Как да изтриете файлове, по - стари от Х дни в Windows
Anonim
Вече ви показахме колко е гъвкава черупката на Linux, но това не означава, че Windows е по-далеч. Ето две техники, които можете да използвате в зависимост от предпочитанията ви за shell, cmd или PowerShell.
Вече ви показахме колко е гъвкава черупката на Linux, но това не означава, че Windows е по-далеч. Ето две техники, които можете да използвате в зависимост от предпочитанията ви за shell, cmd или 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

обяснение

  • На първо място получавате обекти FileInfo и DirectoryInfo в C: Backups.
  • Файловете FileInfo и DirectoryInfo съдържат свойство CreationTime, за да можем да филтрираме колекцията с нея.
  • След това операторът -lt (по-малко от) се използва за сравняване на собствеността CreationTime на обектите с Get-Date (текущата дата), изваждане на 5 дни.
  • Това ни оставя колекция от обекти, създадени преди повече от 5 дни, които преминаваме към Премахване на елемента.

Професионален съвет

За да видите какво ще бъде премахнато, можете да използвате параметъра -WhatIf:

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

Image
Image

Командния ред

Докато ви препоръчваме да използвате един от методите PowerShell, без да се вмъквате в някоя от детайлите, можете да го направите и от командния ред.

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

Професионален съвет

За да видите кои файлове ще бъдат изтрити, можете да използвате ехо.

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

Препоръчано: