Привет! Знаю, давно меня не было, решил написать не большую статью, про то как автоматизировать процесс удаления файлов в ОС Windows.
Для кого и чего это будет полезно?
Ну во первых, для людей кто постоянно чистят файлы, например логи, мусорные файлы или прочие не нужные файлы.
Представьте, у вас есть некая папка с файлами, ну скажем с документами, с которыми вы уже поработали, забрали все нужные данные из них, закрыли его и успешно забыли. Да, такой файл можно удалить ручками, но что если таких файлов десятки или сотни? И вы хотите удалить все кроме сегодняшней даты?
Всё очень просто, давайте без сторонних программ напишем простой скрипт который будет удалять (очищать) все файлы старше 1 дня!
Написание скрипта.
Давайте сначала определимся где будет располагаться файл со скриптом. Я обычно в корне диска "С" создаю каталог "scripts" и уже там располагаю все свои скрипты.
С местом определились, теперь создадим текстовый файл (документ) и переименуем его в понятное название, в конце расширение .bat или .cmd У меня скрипт очищает логи программы которые старше 1 дня.
Откроем наш созданный файл, текстовым редактором (можно блокнотом) и напечатаем или скопируйте у меня строчку кода:
Forfiles -p "C:\programm\Logging" -s -m *.* -d -1 -c "cmd /c del /q @path"
Давайте разбираться что это все значит!
Forfiles -p "C:\programm\Logging" - путь до папки откуда будут удаляться файлы.
-s - это рекурсивное удаление, проще говоря скрипт будет смотреть во всех папках и подпапках файлы, а не только в коне.
-m *.* - это маска по которой будут удалятся файлы, т.к. все файлы содержат точку, то удаление затронет все файлы (если ввести маску *.mp3 - то удаляться все музыкальные файлы с таким форматом)
-d -1 - количество дней, то есть у файлов дата изменения меньше или равна текущей дате. В нашем случае файлы старше 1 дня удалятся.
-c - скрипт будет выполняться для каждого файла
cmd /c del - команда удаления
/q - без подтверждения, без всяких запросов
path - возвращает полный путь до файла
Сохраняем наш код - скрипт. На этом этапе уже можно запустить и проверить работоспособность мини скрипта. В папке с файлами должны остаться только файлы от сегодняшней даты, остальные должны удалится помимо корзины.
Автоматизация скрипта.
Руками конечно можно запускать скрипт, но не гоже нам боярам руками работать =)
Давайте создадим задачу в планировщике Windows или в любом другом "шедулере" для того, чтобы скрипт наш сам запускался раз в неделю.
Запустим планировщик Windows или Task Sheduler, создадим папочку scripts
В этой папке уже создадим новую задачу, дадим её понятое имя и описание при необходимости.
Добавим расписание, в моем случае запускать раз в неделю по Воскресеньям.
Укажем, что запускать (наш скрипт)
и нажмем ОК.
Всё, на этом наши манипуляции завершены. Теперь каждое Воскресенье будет автоматически запускаться скрипт и удалять не нужные нам файлы, при этом файлы за текущий день будут не тронуты.
Данный скрипт так-же можно применить для очистки "мусора" с системного диска. Который лежит в папке %TEMP%
Тем самым освободить драгоценное место на диске "С"
Области применения данному скрипту можно найти массу, главное подумать =)
На этом у меня все, всем спасибо дорогие читатели, хорошего настроения, всем пока!