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

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

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

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

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

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

Проводник - Дата изменения

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

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

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

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

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

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

ForFiles /p "C:\Картинки" /s /d -10 /c "cmd /c del @file"

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

Консольная утилита ForFiles.exe

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

Примечание: после выполнения команды в консоли может вывестись сообщение, что не удается найти некий файл. Не обращайте внимание, обычно это скрытый файл базы данных, отвечающий за настройки каталога. Если в папке его нет (а быть, по идее, должен), ForFiles уведомляет об этом пользователя.

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

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

Get-ChildItem "C:\Картинки" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-10))}| Remove-Item

PowerShell - Get-ChildItem

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

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

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

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

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