Cmd удалить файлы старше дней

Простые действия в Windows не всегда простые:)
Для удаления файлов старше какого-либо периода в Unix отлично справляется нативная команда find.
Для Windows времен 2000 и XP приходилось использовать либо сторонние программы, либо писать на VBS.
Но начиная с Windows7 в поставке появилась утилита forfiles, которая легко решает данную задачу.

Напишем bat-файл для удаления файлов старше 30 дней из директории C: emplogs:

  • -p – Путь
  • -s – Разрешаем ходить рекурсивно
  • -d – Дата (Можно указать точную дату формата ‘dd.MM.yyyy’)
  • -30 – относится к ключу ‘-d’ и указывает, что ищем файлы старше 30 дней
  • -с – Команда, которая выполняется для каждого файла

В двух словах:
Рекурсивно ищем все (можно искать по маске файла, добавив ключ ‘-m *.log’) файлы в директории ‘C: emplogs’, которые старше 30 дней, далее каждое вхождение передаем команде ‘cmd /c del @path /q‘ , где:

Одной из особенностей последних версий Windows 10 является способность поддерживать себя в чистоте, автоматически удаляя ставшие ненужными по истечении определённого срока файлы. В более ранних версиях системы, в которых эта функция ещё не реализована, для удаления старых файлов можно использовать командную строку, консоль PowerShell и даже Проводник, хотя процедура очистки с помощью последнего не так удобна.

Рассмотрим все три варианта.

Удаление старых файлов с помощью Проводника

Лента Проводника Windows 10 и 8.1 содержит инструмент, который позволяет отсортировать все файлы в каталоге по дате изменения, типу, размеру и некоторым другим свойствам. Допустим, вы хотите удалить файлы старше одного месяца. Зайдите в папку с залежавшимися в ней файлам и нажмите на клавиатуре F3 . При этом вы будете переключены в ленте Проводника в раздел поиска.

Читайте также:  Майнинг дома на пк

Кликните по иконке «Дата изменения» и выберите в выпадающем списке нужный период времени, в данном случае месяц.

Проводник тут же отсортирует все файлы по заданному параметру, так что вам останется только выделить их мышкой и отправить в Корзину. Способ простой, но не особо удобный, поскольку всё приходится делать руками. Есть куда более эффективный метод удаления старых файлов и сейчас как раз мы его рассмотрим.

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

Для удаления файлов с «истёкшим сроком годности» мы будем использовать консольную утилиту ForFiles.exe , отвечающую за выбор объекта и выполнение с ним указанного действия. Утилита поддерживает несколько параметров, а именно:

/S — позволяет выполнять рекурсивный поиск.
/P — указывает путь к разделу или каталогу.
/D — указывает количество дней с момента последней модификации.
/C — задаёт команду действия над файлом.

В команде ForFiles также можно указывать возвращающие различные значения переменные, например, @file , которая возвращает имя файла и которую мы будем использовать. Удалим для примера все файлы старше 10 дней в папке «Картинки», лежащей в корне системного диска.

Открываем командную строку и выполняем такую команду:

Создаем обычный .bat файл, сделать это можно с помощью блокнота.

Вписываем туда команду

Forfiles -p "C:папка с файлами" -s -m *.* -d -60 -c "cmd /c del /q @path"

-p папка в которой мы будем удалять файлы

-s рекурсивное удаление (удаление во всех папках и под папках)

-m маска поиска файлов

-d (количество дней) выбор файлов, у которых дата изменения меньше или равна (-) текущей даты.

-с команда, которая выполняется для каждого файла

Читайте также:  Intel core i5 3230m processor

del – команда удаления

/q – отключения запросов на подтверждение при удалении

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector