Удаление старых файлов и папок на Powershell

Задача ясна из названия - надо удалить старые файлы из какой-нибудь папки. В жизни полно ситуаций, когда надо выполнять такую процедуру. Например - удаление старых бэкапов.

 

$path = “c:\totalcmd\”; #путь для поиска
$days = 2; #оставлять файлы за последние 2 дня
Get-ChildItem -path $path"\*" -include *.zip | ?{$_.creationtime -lt $(Get-Date).adddays($days*-1)} | Remove-Item –Force;

Если надо удалять не файлы, а папки целиком, можно добавить параметр Get-Content -Directory. Но такая конструкция будет работать только в Powershell 3.0 и выше. Для Powershell 2.0 немного усложняется:

 

$path = “c:\totalcmd\”; #путь для поиска
$days = 2; #оставлять файлы за последние 2 дня
Get-ChildItem -path $path"\*" | ?{ $_.PSIsContainer -and $_.creationtime -lt $(Get-Date).adddays($days*-1)} | Remove-Item –Force;

 

 

 

Метки: powershell (ru), скрипт

ПечатьE-mail

Добавить комментарий


Защитный код
Обновить