- Как автоматически удалять файлы старше X дней в Windows 10
- Как использовать ForFiles для удаления файлов старше X дней в Windows 10
- Разбивка команд ForFiles
- Как использовать Task Scheduler для автоматического удаления файлов старше X дней в Windows 10
- Как в Windows 10 удалить файлы старше N-дней
- Удаление старых файлов с помощью Проводника
- Удаление старых файлов в командной строке
- Удаление старых файлов с помощью PowerShell
- Как найти и удалить старые файлы из Windows 10
- Удаление файлов старше n дней
- Содержание:
- 1. Скрипт удаления файлов старше n-дней
- 2. Создание задания в планировщике задач
- #Скрипт удаления файлов старше n-дней
- #Создание задания в планировщике задач
Как автоматически удалять файлы старше 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 чтобы выбрать файлы с датой последнего изменения.
- Разрешить выполнение задачи по требованию.
- Запустите задачу как можно скорее после того, как запланированный запуск пропущен.
- Если задача не выполняется, перезапустите каждый.
После того, как вы выполните шаги, команда будет запущена по расписанию, удалив файлы в расположении, которое старше указанного вами количества дней. Только не забудьте изменить имя или переместить папку в другое место. В противном случае задача не будет выполнена.
Как в Windows 10 удалить файлы старше N-дней
Одной из особенностей последних версий Windows 10 является способность поддерживать себя в чистоте, автоматически удаляя ставшие ненужными по истечении определённого срока файлы. В более ранних версиях системы, в которых эта функция ещё не реализована, для удаления старых файлов можно использовать командную строку, консоль PowerShell и даже Проводник, хотя процедура очистки с помощью последнего не так удобна.
Рассмотрим все три варианта.
Удаление старых файлов с помощью Проводника
Лента Проводника Windows 10 и 8.1 содержит инструмент, который позволяет отсортировать все файлы в каталоге по дате изменения, типу, размеру и некоторым другим свойствам. Допустим, вы хотите удалить файлы старше одного месяца. Зайдите в папку с залежавшимися в ней файлам и нажмите на клавиатуре F3 . При этом вы будете переключены в ленте Проводника в раздел поиска.
Кликните по иконке «Дата изменения» и выберите в выпадающем списке нужный период времени, в данном случае месяц.
Проводник тут же отсортирует все файлы по заданному параметру, так что вам останется только выделить их мышкой и отправить в Корзину. Способ простой, но не особо удобный, поскольку всё приходится делать руками. Есть куда более эффективный метод удаления старых файлов и сейчас как раз мы его рассмотрим.
Удаление старых файлов в командной строке
Для удаления файлов с «истёкшим сроком годности» мы будем использовать консольную утилиту ForFiles.exe , отвечающую за выбор объекта и выполнение с ним указанного действия. Утилита поддерживает несколько параметров, а именно:
• /S — позволяет выполнять рекурсивный поиск.
• /P — указывает путь к разделу или каталогу.
• /D — указывает количество дней с момента последней модификации.
• /C — задаёт команду действия над файлом.
В команде ForFiles также можно указывать возвращающие различные значения переменные, например, @file , которая возвращает имя файла и которую мы будем использовать. Удалим для примера все файлы старше 10 дней в папке «Картинки», лежащей в корне системного диска.
Открываем командную строку и выполняем такую команду:
В примере используются три ключа /p (путь) , /s (рекурсия) и /d (количество дней) , а также команда удаления del и переменная имени файла @file . Как только мы нажмём ввод , ForFiles пробежится по всему содержимому папки «Картинки», включая вложенные каталоги и удалит все файлы старше 10 дней .
Как видите, этот способ более эффективный и быстрый, кроме того, вы можете его автоматизировать, создав для него задания в Планировщике.
Удаление старых файлов с помощью PowerShell
Здесь практически всё то же самое, что и в примере с командной строкой, разве что синтаксис иной. Предположим, что ни путь к папке с файлами, ни цели у нас не изменились. Запускаем консоль PowerShell и выполняем команду такого вида:
Результат будет аналогичным предыдущему.
Обратите внимание, что в команде также используется рекурсия (-Recurse) и указание даты в днях AddDays(-10).
Как найти и удалить старые файлы из 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), указав путь в окне «Программа или Сценарий».
Используя вкладку «Триггеры», вы можете указать периодичность, с которой хотите очищать указанную папку.
Удаление файлов старше n дней
Иногда надо сделать удаление файлов старше n дней. Например Backup’ы. Можно делать это вручную, отсортировать их по дате и удалить, а можно воспользоваться скриптом. В данном примере мы рассмотрим скрипт для удаления файлов старше n дней и добавим задание в планировщик Windows Server 2012R2.
Содержание:
1. Скрипт удаления файлов старше n-дней
2. Создание задания в планировщике задач
#Скрипт удаления файлов старше n-дней
Скрипт на самом деле очень простой, создается в PowerShell и выглядит он следующим образом:
Где:
F:\backup\ — путь, в какой папке мы будем с вами искать файлы для удаления
*.* — имя (маска) файлов
/d -30 — старше скольки дней нам необходимо удалить файлы.
Вот так это выглядит в PowerShell:
Осталось только его выполнить и все.
#Создание задания в планировщике задач
Все хорошо, у нас есть скрипт. Мы можем выполнять его вручную, когда необходимо очистить наши бекапы. Но зачем выполнять это вручную? Мы поручим планировщику запускать наш скрипт и избавимся сами от рутинной работы.
Итак, что нам для этого надо?
Для начала идем в «Пуск -> панель управления -> Администрирование» и запускаем там «Планировщик заданий«.
Выбираем пункт «Создать задачу«:
На вкладке «Общие» задаем имя задания, его описание и пользователя, от которого оно будет выполняться. По умолчанию там будет пользователь, под которым вы вошли в данный момент в систему.
Далее переходим на вкладку «Триггеры» и создаем расписание, когда мы будем запускать наше задания. У меня настроено в 10:00 каждые 2 дня.
Далее идем на вкладку «Действия» и задаем действие, которое будет выполняться. Выбираем «Запуск программы»
программу или сценарий
и указываем путь до PowerShell:
А аргументе указываем путь до нашего скрипта, который мы создали ранее:
Нажимаем «Ок» и еще раз «Ок»
Все, на этом наше задание создано. Осталось дождаться, когда будет выполнено наше действие по расписанию и проверить, все ли правильно было настроено.