- Как автоматически удалять файлы старше X дней в Windows 10
- Как использовать ForFiles для удаления файлов старше X дней в Windows 10
- Разбивка команд ForFiles
- Как использовать Task Scheduler для автоматического удаления файлов старше X дней в Windows 10
- CMD Скрипт удаление файлов старше n дней
- cmd удалить файлы старше дней
- Удаление старых файлов с помощью Проводника
- Удаление старых файлов в командной строке
- Удаление файлов старше 3-х дней
Как автоматически удалять файлы старше X дней в Windows 10
В Windows 10 вы можете использовать командную строку и планировщик задач, чтобы автоматически удалять файлы старше определенного количества дней, чтобы освободить место и сохранить ваши файлы организованными.
Приложение «Настройки» включает в себя «Хранилище» — функцию, которая автоматически запускается при нехватке памяти для освобождения места. Помимо возможности удаления временных файлов, вы также можете включить функцию удаления файлов, которые были в корзине или в папке «Загрузки», которые не изменились за последний месяц. Однако эта функция ограничена и не позволяет отслеживать дополнительные папки, чтобы удалять их файлы, которые не изменились за последние 60 дней.
Если вы храните временные файлы из Интернета или проекты в разных папках, можно использовать команду ForFiles в командной строке и планировщике задач, чтобы удалить файлы из любой папки старше определенного количества дней.
В этом руководстве вы узнаете, как вручную удалять файлы, которые не были изменены в течение указанного количества дней, и как создать автоматизированную задачу, которая будет удалять файлы старше определенного количества дней в любой папке на Windows 10.
Важное замечание: Перед запуском команды в папке, которую вы хотите организовать, протестируйте команду с помощью тестовой папки, так как использование неправильных параметров и другие ошибки могут привести к удалению неправильных файлов.
Как использовать ForFiles для удаления файлов старше X дней в Windows 10
Если у вас есть разные папки с большим количеством файлов и вы хотите очистить их, удалив те файлы, которые старше определенного количества дней, вы можете использовать команду ForFiles.
Чтобы использовать команду ForFiles для удаления файлов старше определенного количества дней, выполните следующие действия:
- Откройте Пуск в Windows 10.
- Найдите командную строку , щелкните правой кнопкой мыши результат и выберите параметр « Запуск от имени администратора» .
- Введите следующую команду, чтобы удалить файлы, которые не были изменены за последние 30 дней, и нажмите Enter :
В приведенной выше команде не забудьте изменить «C:\path\to\folder» указав путь к папке, в которую вы хотите удалить файлы, и измените /d -30 чтобы выбрать файлы с датой последнего изменения.
Разбивка команд ForFiles
- /p — указывает путь для начала поиска.
- /s — поручает ForFiles искать внутри подкаталогов.
- /d — указывает дату последнего изменения файла.
- /c — указывает ForFiles выполнить команду, которую нужно заключить в двойные кавычки, по умолчанию это «cmd /c del @file» .
Если вы хотите узнать больше об этих ключах, используйте ForFiles /? команду.
Как использовать Task Scheduler для автоматического удаления файлов старше X дней в Windows 10
Команда в предыдущих инструкциях позволяет вам удалять файлы в папке старше 30 дней, но вам нужно открывать командную строку и выполнять команду вручную каждый раз, когда вы хотите освободить место.
Если вы хотите автоматизировать процесс, вам нужно использовать планировщик задач в Windows 10, чтобы создать задачу, которая выполняет команду с заданными интервалами.
Чтобы создать запланированное задание с помощью команд ForFiles для удаления файлов, которые не изменились за некоторое время, выполните следующие действия:
- Откройте Пуск.
- Найдите планировщик заданий и нажмите на верхний результат, чтобы открыть опыт.
- Щелкните правой кнопкой мыши папку «Библиотека планировщика заданий».
- Нажмите «Новая папка».
- Введите любое имя для папки и нажмите ОК. (Мы создаем новую папку, чтобы задачи были организованы и отделены от системных задач.)
- Щелкните правой кнопкой мыши недавно созданную папку и выберите параметр «Создать задачу».
- В поле «Имя» введите имя для задачи.
- На вкладке «Общие» в разделе «Параметры безопасности» выберите параметр «Выполнить» независимо от того, вошел пользователь в систему или нет . (Это опция, которая заставляет командное окно не появляться, когда задача запускается автоматически.)
- Снимите флажок Не хранить пароль .
- Перейдите на вкладку «Триггеры» и нажмите кнопку «Новый».
- Используя раскрывающееся меню «Начать задачу», выберите параметр «По расписанию».
- В разделе «Настройки» укажите, когда вы хотите, чтобы задача выполнялась (например, «Вовремя», «Ежедневно», «Еженедельно», «Ежемесячно»). Какой бы вариант вы ни выбрали, обязательно укажите параметры запуска справа.
- Нажмите кнопку ОК.
- Перейдите на вкладку «Действия» и нажмите кнопку «Создать».
- В раскрывающемся меню «Действия» выберите пункт «Запустить программу».
- В поле «Программа / скрипт» введите следующую команду:
- В поле «Добавить аргументы» введите следующую команду и нажмите кнопку ОК .
В приведенной выше команде не забудьте изменить «C:\path\to\folder» указав путь к папке, в которую вы хотите удалить файлы, и измените /d -30 чтобы выбрать файлы с датой последнего изменения.
- Разрешить выполнение задачи по требованию.
- Запустите задачу как можно скорее после того, как запланированный запуск пропущен.
- Если задача не выполняется, перезапустите каждый.
После того, как вы выполните шаги, команда будет запущена по расписанию, удалив файлы в расположении, которое старше указанного вами количества дней. Только не забудьте изменить имя или переместить папку в другое место. В противном случае задача не будет выполнена.
CMD Скрипт удаление файлов старше n дней
Удаление файлов через cmd утилитой forfiles.exe
Пример как с ее помощью можно удалять бекапы старше 20 дней:
forfiles.exe /p С:\Backup\ /s /m *.* /d -20 /c «cmd /c del /q /f @file»
обычный батник — и вуаля само делает неинтересную работу..
справка по FORFILES
FORFILES [/P ] [/M ] [/S]
Выбор файла (или набора файлов) и выполнение команды
с этим файлом. Программа полезна для пакетных заданий.
/P Путь, с которого начинается поиск.
По умолчанию используется текущая
/M Поиск файлов с помощью маски.
Маска поиска по умолчанию «*» .
/S Рекурсивное выполнение программы forfiles
во всех подпапках, аналогично «DIR /S».
/C Команда, которая выполняется для каждого файла.
Строки команд необходимо заключать в прямые
Команда по умолчанию «cmd /c echo @file».
Следующие переменные могут использоваться
в строке команды:
@file — возвращает имя файла.
@fname — возвращает имя файла без
@ext — возвращает только расширение имени
@path — возвращает полный путь к файлу.
@relpath — возвращает относительный путь к
@isdir — возвращает значение «TRUE», если типом
файла является папка, и «FALSE» для файлов.
@fsize — возвращает размер файла
@fdate — возвращает дату последнего изменения
@ftime — возвращает время последнего изменения
Для включения специальных символов в строку команды
следует использовать шестнадцатеричный код символа
в формате 0xHH (например, 0x09 для табуляции).
Перед внутренними командами CMD.exe необходимо ставить
/D Выбор файлов, у которых дата последнего изменения
больше или равна (+) либо меньше или равна
(-) указанной дате при использовании формата
«dd.MM.yyyy»; либо файлов, у которых дата последнего
изменения больше или равна (+)
текущей дате плюс «dd» дней либо меньше или
равна (-) текущей дате минус «dd» дней.
Допустимым числом дней «dd» является любое
число в диапазоне 0 — 32768.
«+» используется по умолчанию, если знак не указан.
/? Вывод справки по использованию.
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C «cmd /c type @file | more»
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C «cmd /c echo @path 0x09 был изменен 30 дней назад»
FORFILES /D 01.01.2001
/C «cmd /c echo @fname является новым с 1-янв-2001»
FORFILES /D +25.1.2011 /C «cmd /c echo @fname является новым сегодня»
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C «cmd /c echo @fsize»
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 (количество дней) выбор файлов, у которых дата изменения меньше или равна (-) текущей даты.
-с команда, которая выполняется для каждого файла
del — команда удаления
/q — отключения запросов на подтверждение при удалении
Удаление файлов старше 3-х дней
Удаление файлов старше 10-ти дней
Приветствую Вас пользователи! Помогите с решением следующей задачи. Настроено ежедневное резервное.
Архивация файлов и удаление архивов старше семи дней
Ребята помогите сделать скрипт, плз. Суть такая — есть каталог, который сканируется на предмет.
Удаление папок старше n дней
Доброго времени суток! Помогите написать батник который делал бы следующее в заданный папках.
Архивация лог-файлов старше трёх дней
Необходимо ежедневно архивировать лог файлы с датой ранее 3 дней от текущей даты в ту же папку, где.
Когда пытался исправить его, чтобы проделать то же самое в расшаренной папке в локалке, то ничего не получается. Скорее всего проблема с атрибутами и способом указания пути. Гуру, выручайте.
Добавлено через 10 минут
Стоп, так не получится
А вот так должно
Код для удаления папок старше 3-х дней со всем их содержимым из каталога «C:\Test»:
Команда «PUSHD» «умеет».
Даже для этой команды (как и для команды «DIR» и некоторых других команд) существует специфическое сообщение об ошибке «Не найден сетевой путь.»
Не поддерживает команда «PUSHD» только UNC-пути, «путая» их как раз с сетевыми путями.
А вот команда «CD» действительно этого не «умеет» и, наоборот, «путает» сетевые пути с UNC-путями, которые она также не поддерживает.
Команда «DIR» поддерживает и сетевые, и UNC-пути.
Вот такая «коллизия».
Тематические курсы и обучение профессиям онлайн Профессия Cпециалист по кибербезопасности (Skillbox) DevOps-инженер (Нетология) Профессия DevOps-инженер PRO (Skillbox) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Перемещение файлов старше Х дней с сохранением структуры каталога
Доброго дня, уважаемые гуру 🙂 Есть задача переместить старые файлы, сохранив структуру папок.
Создать задачу по удалению всех архивов старше 10 дней
Здравствуйте, возник такой вопрос ,а можно ли сделать задачу по удаления с жесткого диска все.
Удаление папок старше недели
Добрый день У меня есть простенький БАТ-файл для резервного копирования xcopy D:\CRM\*.*.
Перемещение файлов старше 30 минут
Необходим батник, который проверяет файлы(их всегда несколько) в определенной папке(папка 1) и если.