If-Koubou

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

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

Вече ви показахме колко е гъвкава черупката на Linux, но това не означава, че Windows е по-далеч. Ето две техники, които можете да използвате в зависимост от предпочитанията ви за shell, cmd или PowerShell.

PowerShell 3

Get-ChildItem-Път "C: \ Архиви" - Ресурси | Къде-Object CreationTime -lt (Get-Date) .AddDays (-5) | Премахни артикул

PowerShell 2

Get-ChildItem-Път "C: \ Архиви" - Ресурси | Къде-обект $ _. CreationTime -lt (Get-Date) .AddDays (-5) | Премахни артикул

обяснение

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

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

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

Get-ChildItem-Път "C: \ Архиви" - Ресурси | Къде-Object CreationTime -lt (Get-Date) .AddDays (-5) | Премахване на елемента -WhatIf

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

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

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

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

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

за файловете -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"