Удалить файлы старше даты windows

Как найти и удалить старые файлы из Windows 10

В Windows 10 была встроена функция «Контроль памяти», которая, помимо прочего, заботится об удалении самых старых файлов, содержащихся в корзине и в системной папке «Загрузка». Однако, на основании жалоб различных пользователей, контроль памяти перестал автоматически удалять старые файлы из папки «Загрузка».

Вместе стем, контроль памяти и очистка диска, также доступные в предыдущих версиях Windows, по-прежнему остаются отличными инструментами для восстановления пространства.

Независимо от используемой версии Windows вы можете использовать встроенную в операционную систему утилиту ForFiles, чтобы запросить автоматическое удаление файлов старше определенной даты.

ForFiles работает из командной строки и особенно полезен для внесения изменений в большое количество файлов, каждый из которых соответствует определенным критериям.

Ожидаемый синтаксис команды ForFiles выглядит следующим образом:

Вместо пути вы можете указать папку, в которую нужно вмешаться, а критерии_поиска можно заменить директивой, в которой указан тип файла (например, *.docx ).

Параметр /s позволяет также вмешиваться в содержимое подпапок; /c для выполнения команды, заключенной в двойные кавычки. Наконец, /d позволяет указать дату или количество дней: действие, запрошенное с помощью ForFiles, повлияет только на файлы старше указанной даты.

Чтобы удалить файлы старше 60 дней из указанной папки, просто введите следующую команду:

Команда позволит удалить все файлы старше двух месяцев, включая файлы с атрибутом «только для чтения», без запроса какого-либо подтверждения от пользователя.

Команда, подобная следующей, позволяет удалить файлы, созданные сегодня:

Чтобы избежать нанесения ущерба, вы можете просто заменить del на команду echo, так вы получите список файлов, которые будут удалены, потому что они старше указанной даты:

Вместо /d -60 можно указать конкретную дату в формате дд/мм/гггг.

В завершение важно отметить, что утилита ForFiles не поддерживает сетевые пути: для вмешательства в файлы, хранящиеся в общих папках в локальной сети, необходимо сначала связать с ними идентификационную букву диска.

В командной строке Windows просто используйте net use X: \\сетевой_путь, добавив, возможно, пароль и username.

Вы также можете использовать Планировщик (в поле поиска Windows введите Планировщик заданий), чтобы создать новую задачу на периодическое удаление самых старых файлов в указанной папке.

Чтобы напрямую вызвать утилиту, просто введите ForFiles в поле «Программа или Сценарий», затем укажите все, что следует в поле «Добавить аргументы».

В качестве альтернативы, особенно если вы должны действовать по сетевому пути, просто создайте пакетный файл (.bat), указав путь в окне «Программа или Сценарий».

Используя вкладку «Триггеры», вы можете указать периодичность, с которой хотите очищать указанную папку.

Powershell скрипт для удаления файлов старше указанного количества дней

Довольно часто возникает необходимость удаления старых файлов в определенной папке. Чаще всего это нужно для очистки логов или устаревших бэкапов. В данной статье мы рассмотрим PowerShell скрипт для удаления файлов старше n дней.

Для начала нам необходимо запустить специальную утилиту Windows PowerShell ISE. В ней очень удобно писать и отлаживать скрипты. Далее, если ранее вы не использовали powershell, то необходимо предоставить разрешения на выполнения скриптов. Обратите внимание, что для того чтобы изменять политики системы Windows PowerShell ISE необходимо запускать от имени администратора.

Читайте также:  Как сделать чтобы windows 10 не обновлял драйвера видеокарты

Вводим команду и нажимаем ввод. Нам будет показано окно запроса подтверждения. Нажимаем «Да».

Если все успешно, то курсор будет переведен на следующую строку. Обратите внимание, что данные действия достаточно выполнить всего один раз и не повторять перед каждым запуском скрипта.

Теперь напишем сам скрипт. Выглядеть он будет следующим образом:

Данный скрипт выполнит удаление всех файлов и вложенных папок в указанной директории.

Теперь нам остается только сохранить данный скрипт в файл и выполнять его вызов при необходимости или настроив автоматический запуск скрипта в планировщике задач Windows.

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»

Как в Windows 10 удалить файлы старше N-дней

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

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

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

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

Читайте также:  0x0000001a windows server 2016

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

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

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

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

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

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

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

В примере используются три ключа /p (путь) , /s (рекурсия) и /d (количество дней) , а также команда удаления del и переменная имени файла @file . Как только мы нажмём ввод , ForFiles пробежится по всему содержимому папки «Картинки», включая вложенные каталоги и удалит все файлы старше 10 дней .

Как видите, этот способ более эффективный и быстрый, кроме того, вы можете его автоматизировать, создав для него задания в Планировщике.

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

Здесь практически всё то же самое, что и в примере с командной строкой, разве что синтаксис иной. Предположим, что ни путь к папке с файлами, ни цели у нас не изменились. Запускаем консоль PowerShell и выполняем команду такого вида:

Результат будет аналогичным предыдущему.

Обратите внимание, что в команде также используется рекурсия (-Recurse) и указание даты в днях AddDays(-10).

Как автоматически удалять файлы старше X дней в Windows 10

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

Приложение «Настройки» включает в себя «Хранилище» — функцию, которая автоматически запускается при нехватке памяти для освобождения места. Помимо возможности удаления временных файлов, вы также можете включить функцию удаления файлов, которые были в корзине или в папке «Загрузки», которые не изменились за последний месяц. Однако эта функция ограничена и не позволяет отслеживать дополнительные папки, чтобы удалять их файлы, которые не изменились за последние 60 дней.

Если вы храните временные файлы из Интернета или проекты в разных папках, можно использовать команду ForFiles в командной строке и планировщике задач, чтобы удалить файлы из любой папки старше определенного количества дней.

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

Важное замечание: Перед запуском команды в папке, которую вы хотите организовать, протестируйте команду с помощью тестовой папки, так как использование неправильных параметров и другие ошибки могут привести к удалению неправильных файлов.

Как использовать ForFiles для удаления файлов старше X дней в Windows 10

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

Читайте также:  Как создать exe файл windows 10

Чтобы использовать команду ForFiles для удаления файлов старше определенного количества дней, выполните следующие действия:

  1. Откройте Пуск в Windows 10.
  2. Найдите командную строку , щелкните правой кнопкой мыши результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы удалить файлы, которые не были изменены за последние 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 для удаления файлов, которые не изменились за некоторое время, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите планировщик заданий и нажмите на верхний результат, чтобы открыть опыт.
  3. Щелкните правой кнопкой мыши папку «Библиотека планировщика заданий».
  4. Нажмите «Новая папка».
  5. Введите любое имя для папки и нажмите ОК. (Мы создаем новую папку, чтобы задачи были организованы и отделены от системных задач.)
  6. Щелкните правой кнопкой мыши недавно созданную папку и выберите параметр «Создать задачу».
  7. В поле «Имя» введите имя для задачи.
  8. На вкладке «Общие» в разделе «Параметры безопасности» выберите параметр «Выполнить» независимо от того, вошел пользователь в систему или нет . (Это опция, которая заставляет командное окно не появляться, когда задача запускается автоматически.)
  9. Снимите флажок Не хранить пароль .
  10. Перейдите на вкладку «Триггеры» и нажмите кнопку «Новый».
  11. Используя раскрывающееся меню «Начать задачу», выберите параметр «По расписанию».
  12. В разделе «Настройки» укажите, когда вы хотите, чтобы задача выполнялась (например, «Вовремя», «Ежедневно», «Еженедельно», «Ежемесячно»). Какой бы вариант вы ни выбрали, обязательно укажите параметры запуска справа.
  13. Нажмите кнопку ОК.
  14. Перейдите на вкладку «Действия» и нажмите кнопку «Создать».
  15. В раскрывающемся меню «Действия» выберите пункт «Запустить программу».
  16. В поле «Программа / скрипт» введите следующую команду:
  17. В поле «Добавить аргументы» введите следующую команду и нажмите кнопку ОК .

В приведенной выше команде не забудьте изменить «C:\path\to\folder» указав путь к папке, в которую вы хотите удалить файлы, и измените /d -30 чтобы выбрать файлы с датой последнего изменения.

  • Нажмите кнопку ОК .
  • Перейдите на вкладку «Настройки» и обязательно проверьте следующие параметры:
    • Разрешить выполнение задачи по требованию.
    • Запустите задачу как можно скорее после того, как запланированный запуск пропущен.
    • Если задача не выполняется, перезапустите каждый.
  • Нажмите кнопку ОК .
  • При появлении запроса введите имя пользователя и пароль администратора.
  • Нажмите кнопку ОК.
  • После того, как вы выполните шаги, команда будет запущена по расписанию, удалив файлы в расположении, которое старше указанного вами количества дней. Только не забудьте изменить имя или переместить папку в другое место. В противном случае задача не будет выполнена.

    Оцените статью