forfiles удаление файлов старше n дней
CMD Скрипт удаление файлов старше n дней
Удаление файлов через cmd утилитой forfiles.exe
Пример как с ее помощью можно удалять бекапы старше 20 дней:
обычный батник — и вуаля само делает неинтересную работу..
справка по FORFILES
Выбор файла (или набора файлов) и выполнение команды
с этим файлом. Программа полезна для пакетных заданий.
/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
/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»
Блог вебмастера
создание сайтов, заработок в сети, раскрутка, программирование
Как удалять файлы старше 10 дней на windows
Делаю бекапы каждый день, накапливается не один десяток гигабайт информации. Чистить нужно, тем более старые бекапчики особой важности не несут. Раньше удалял вручную, но потом задумался… Вручную делать это лень, тем более можешь завтыкать, протупить и удалить не то. Короче, ленивый сделает лучше всех — нужно автоматизировать.
Воспользовался встроенной утилитой forfiles. Теперь все делает планировщик задач и несложный bat-ник в две строки. Пример дальше.
Команды forfiles. Примеры
Разберем ключи по порядку:
Также результаты исполнения скрипта можно записать в файл.
Если нужно их записать в файл, то добавьте в конце знак БОЛЬШЕ и адрес куда сохранить файл (лучше всего прописать полный путь).
forfiles /p C:\ /m *.exe /s /c «cmd /c echo @path» > D:\all_exefiles.txt
Вставляем код в cmd:
Forfiles. Запись в файл выполненного скрипта
Результат — созданный файл на диске D:\ и его содержимое (можно много интересного найти):
Forfiles. Запись в файл выполненного скрипта. Результат
Пример forfiles с переменными путь, дата, размер
forfiles /p D:\ /m *.zip /s /c «cmd /c echo @path изменен @fdate и размером @fsize байт »
Вот результат выполнения скрипта:
Команды forfiles. Используем переменные со своим текстом
Как удалить файлы старше 10 дней
Как удалить папки старше 7 дней с помощью forfiles
Как в Windows 10 удалить файлы старше N-дней
Одной из особенностей последних версий Windows 10 является способность поддерживать себя в чистоте, автоматически удаляя ставшие ненужными по истечении определённого срока файлы. В более ранних версиях системы, в которых эта функция ещё не реализована, для удаления старых файлов можно использовать командную строку, консоль PowerShell и даже Проводник, хотя процедура очистки с помощью последнего не так удобна.
Рассмотрим все три варианта.
Удаление старых файлов с помощью Проводника
Кликните по иконке «Дата изменения» и выберите в выпадающем списке нужный период времени, в данном случае месяц.
Проводник тут же отсортирует все файлы по заданному параметру, так что вам останется только выделить их мышкой и отправить в Корзину. Способ простой, но не особо удобный, поскольку всё приходится делать руками. Есть куда более эффективный метод удаления старых файлов и сейчас как раз мы его рассмотрим.
Удаление старых файлов в командной строке
• /S — позволяет выполнять рекурсивный поиск.
• /P — указывает путь к разделу или каталогу.
• /D — указывает количество дней с момента последней модификации.
• /C — задаёт команду действия над файлом.
Открываем командную строку и выполняем такую команду:
Как видите, этот способ более эффективный и быстрый, кроме того, вы можете его автоматизировать, создав для него задания в Планировщике.
Удаление старых файлов с помощью PowerShell
Здесь практически всё то же самое, что и в примере с командной строкой, разве что синтаксис иной. Предположим, что ни путь к папке с файлами, ни цели у нас не изменились. Запускаем консоль PowerShell и выполняем команду такого вида:
Результат будет аналогичным предыдущему.
Обратите внимание, что в команде также используется рекурсия (-Recurse) и указание даты в днях AddDays(-10).
forfiles
Выбирает и выполняет команду для файла или набора файлов. Эта команда чаще всего используется в пакетных файлах.
Синтаксис
Параметры
Remarks
В командной строке можно использовать следующие переменные, как указано в параметре командной строки /c :
Переменная | Описание |
---|---|
@FILE | Имя файла. |
@FNAME | Имя файла без расширения. |
@EXT | Расширение имени файла. |
@PATH | Полный путь к файлу. |
@RELPATH | Относительный путь к файлу. |
@ISDIR | Возвращает значение TRUE, если тип файла является каталогом. В противном случае эта переменная принимает значение FALSE. |
@FSIZE | Размер файла в байтах. |
@FDATE | Метка даты последнего изменения файла. |
@FTIME | Отметка времени последнего изменения файла. |
Включите специальные символы в командную строку, используя шестнадцатеричный код для символа в формате 0x чч (например, 0x09 для вкладки).
Эта команда работает путем применения recurse subdirectories флага к средствам, предназначенным для обработки только одного файла.
Примеры
Чтобы вывести список всех пакетных файлов на диске C, введите:
Чтобы вывести список всех каталогов на диске C, введите:
Чтобы получить список всех файлов в текущем каталоге, которые устарели по крайней мере один год, введите:
Чтобы вывести список расширений имен файлов в текущем каталоге в формате столбца и добавить вкладку перед расширением, введите:
Как автоматически удалять файлы старше X дней в Windows 10
В Windows 10 вы можете использовать командную строку и планировщик задач, чтобы автоматически удалять файлы старше определенного количества дней, чтобы освободить место и сохранить ваши файлы организованными.
Приложение «Настройки» включает в себя «Хранилище» — функцию, которая автоматически запускается при нехватке памяти для освобождения места. Помимо возможности удаления временных файлов, вы также можете включить функцию удаления файлов, которые были в корзине или в папке «Загрузки», которые не изменились за последний месяц. Однако эта функция ограничена и не позволяет отслеживать дополнительные папки, чтобы удалять их файлы, которые не изменились за последние 60 дней.
Если вы храните временные файлы из Интернета или проекты в разных папках, можно использовать команду ForFiles в командной строке и планировщике задач, чтобы удалить файлы из любой папки старше определенного количества дней.
В этом руководстве вы узнаете, как вручную удалять файлы, которые не были изменены в течение указанного количества дней, и как создать автоматизированную задачу, которая будет удалять файлы старше определенного количества дней в любой папке на Windows 10.
Важное замечание: Перед запуском команды в папке, которую вы хотите организовать, протестируйте команду с помощью тестовой папки, так как использование неправильных параметров и другие ошибки могут привести к удалению неправильных файлов.
Как использовать ForFiles для удаления файлов старше X дней в Windows 10
Если у вас есть разные папки с большим количеством файлов и вы хотите очистить их, удалив те файлы, которые старше определенного количества дней, вы можете использовать команду ForFiles.
Чтобы использовать команду ForFiles для удаления файлов старше определенного количества дней, выполните следующие действия:
Разбивка команд ForFiles
Если вы хотите узнать больше об этих ключах, используйте ForFiles /? команду.
Как использовать Task Scheduler для автоматического удаления файлов старше X дней в Windows 10
Команда в предыдущих инструкциях позволяет вам удалять файлы в папке старше 30 дней, но вам нужно открывать командную строку и выполнять команду вручную каждый раз, когда вы хотите освободить место.
Если вы хотите автоматизировать процесс, вам нужно использовать планировщик задач в Windows 10, чтобы создать задачу, которая выполняет команду с заданными интервалами.
Чтобы создать запланированное задание с помощью команд ForFiles для удаления файлов, которые не изменились за некоторое время, выполните следующие действия:
После того, как вы выполните шаги, команда будет запущена по расписанию, удалив файлы в расположении, которое старше указанного вами количества дней. Только не забудьте изменить имя или переместить папку в другое место. В противном случае задача не будет выполнена.