@whoaitzso

PowerShell Как Удалить файлы из всех папок, старше 1 дня?

Добрый день!
Необходимо написать скрипт который удалял бы файлы из всех папок находящихся по пути.
Например есть папка D:\Logs, необходимо чтобы скрипт пробежался по всем папкам внутри каталога и удалил файлы старше 1 дня.
С удалением файлов старше определенной даты проблем нет.
Получилось что то вроде этого

$Now = (Get-Date).AddHours(-1)
$Hours = '2'
$LogsCS = "" #указать путь

#чистка дампов
#$LastWriteCS = $Now.AddHours(-$hours)
$Folders = Get-ChildItem $LogsCS | Where{$_.LastWriteTime -le "$Now"}
  • Вопрос задан
  • 1318 просмотров
Решения вопроса 1
@NortheR73
системный инженер
как-то так:
$Now = (Get-Date).AddDays(-1)
$LogsCS = "" #указать путь
#чистка дампов
Get-ChildItem $LogsCS -Recurse -Force | Where{$_.LastWriteTime -le $Now} | Remove-Item -Force -ErrorAction SilentlyContinue
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@beerchaser
проще батник с командой forfiles /p "диск:\каталог" /s /c " cmd /c del @file /f /q" /d-1. можно прямо из повершелл...
Ответ написан
Комментировать
@alhaos
[IO.Directory]::GetFiles("c:\tmp").Where{$_.LastWriteTime -lt [datetime]::Now.AddDays(-1)}.Foreach{[io.file]::Delete($_)}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы