Удаление устаревших файлов по расписанию

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

Мы решим эту задачу удаления старых файлов с помощью cmd (bat-файла). Рассмотрим одну из возможных реализаций как это можно сделать.

Вводная

Пусть папка, которую нам необходимо периодически очищать находится в каталоге D:\ftp\CAMERA

Что нужно сделать

1. Создадим файл clear.cmd, рядом с папкой которую нам необходимо удалить (не внутри, а рядом) в каталог D:\ftp
2. В файле clear.cmd добавим следующий текст:

@echo off
SET Path2Del=D:\ftp\CAMERA
forfiles -p "%Path2Del%" -s -m *.* -d -15 -c "cmd /c del /q @path"
for /f %%D in ('DIR cd "%Path2Del%" /AD/B/S ^| sort /r') do RD "%%D"
3. Там где Path2Del замените на свой путь, параметр -d -15 означает, что необходимо удалить файлы старше 15 дней. Если хотите увеличить или уменьшить этот срок замените 15 на нужное число.
4. Откройте меню Пуск > Служебные Windows > Средства администрирование Windows > Планировщик заданий
Администрирование
5. Создадим в планировщике заданий новое задание:
Планировщик вкладка 1
Планировщик вкладка 2
Планировщик вкладка 3
6. После этого каждый день, в 20:00 будет произведено удаление файлов старше 15 дней.

PS: Если вы ИТ-специалист, возможно вам пригодиться вот это: программа для ИТ-шников

Изображение автора статьи

Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки

Загрузка...
Поделитесь статьей