Как да изтриете файлове по-стари от X дни на Windows
Вече ви показахме колко гъвкава може да бъде обвивката на Linux, но това не означава, че Windows е още по-назад. Ето две техники, които можете да използвате в зависимост от предпочитанията на вашия корпус, cmd или PowerShell.
PowerShell 3
Get-ChildItem -Path “C: Резервни копия” -Проучване | Къде-обект CreationTime -lt (Get-Date) .AddDays (-5) | Премахни артикул
PowerShell 2
Get-ChildItem -Path “C: Резервни копия” -Проучване | Къде-обект $ _. CreationTime -lt (Get-Date) .AddDays (-5) | Премахни артикул
обяснение
- Първо получаваме FileInfo и DirectoryInfo обекти в Path C: \ t.
- Обектите FileInfo и DirectoryInfo съдържат свойство CreationTime, така че можем да филтрираме колекцията, като използваме това.
- Операторът -lt (less than) се използва за сравняване на свойството CreationTime на обектите с Get-Date (текущата дата) се изважда 5 дни.
- Това ни оставя с колекция от обекти, създадени преди повече от 5 дни, които преминаваме към Remove-Item.
Професионален съвет
За да видите какво ще бъде премахнато, можете да използвате параметъра -WhatIf:
Get-ChildItem -Path “C: Резервни копия” -Проучване | Къде-обект CreationTime -lt (Get-Date) .AddDays (-5) | Remove-Item -WhatIf
Командния ред
Въпреки че ви препоръчваме да използвате един от методите на PowerShell, без да влизате в нито една от песните, можете да го направите и от командния ред.
forfiles -p "C: Резервни копия" -s -m *. * -d -5 -c "cmd / c del @path"
Професионален съвет
За да видите какви файлове ще бъдат изтрити, можете да използвате ехото.
forfiles -p "C: Резервни копия" -s -m *. * -d -5 -c "cmd / c echo @file"