Автоматизация процесса удаления старых файлов из определенных каталогов в Windows системах, с помощью скрипта для PowerShell.

В процессе рабочей необходимости, мне понадобился инструмент который будет выполнять функцию клинера старых файлов, в определенных каталогах. Имеется множество уже готовых инструментов, но я решил написать свой скрипт для PowerShell.

 

Задача скрипта:

  • В заданных каталогах производить поиск файлов подходящих по критерий давности
  • Дополнительная функция поиска файлов по заданной маске
  • Удалять найденные файлы
  • Выполнять чистку пустых каталогов, если таковые образовались после удаления старых файлов.

Ниже представлен листинг получившегося у меня скрипта. Скрипт с комментариями, разобраться в нем не должно составить труда.

 

По-умолчанию в PowerShell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell.

 

Разрешить выполнение скриптов в Powershell:
powershell -Command Set-ExecutionPolicy RemoteSigned

 

Небольшие комментарии по скрипту. Пользоваться скриптом просто, т.к. обработка поиска и удаления файлов, описаны в функциях, то для того чтобы выполнить очистку от старых файлов в определенной папке, достаточно выполнить:

  • RemoveFilesFolders {Путь к каталогу} {Порог крайней даты} — Базовый поиск и очистка. Для удобства в скрипте путь и порог крайней даты, можно задать в переменные и указать их в команде в качестве переменных.
  • RemoveFilesFolders {Путь к каталогу} {Маска файлов} {Порог крайней даты} — Для поиска и очистке файлов по их маске. Так же можно задать в переменные и указать их в команде в качестве переменных.

Данный скрипт можно ставить в планировщик и быть спокойным что в ваших хранилищах не будут накапливаться тонны старых файлов.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 5,00 из 5)
Загрузка...

Всего комментариев: 2 Комментировать

  1. Алексей /

    Спасибо Вам!

    1. Жаконда / Автор записи

      Не за что 🙂

Оставить ответ

один × пять =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика