Как автоматически удалить файлы старше X дней с помощью PowerShell

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

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

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

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

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

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

  1. Открытым Начинать в Windows 10.

  2. Ищи Windows PowerShellщелкните результат правой кнопкой мыши и выберите Запустить от имени администратора вариант.

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

    Get-ChildItem –Path "C:\path\to\folder" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item

    Измените путь: "C:\path\to\folder" с расположением папки, вы хотите удалить файлы и изменить -30 для выбора файлов с датой последнего изменения в приведенной выше команде.

    Команда PowerShell LastWriteTime

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

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

Создайте скрипт PowerShell с помощью Блокнота

Чтобы запустить задачу с помощью планировщика заданий, вам необходимо создать сценарий PowerShell, выполнив следующие действия:

  1. Открытым Начинать.

  2. Ищи Блокнот и щелкните верхний результат, чтобы открыть опыт.

  3. Скопируйте и вставьте следующую команду в текстовый файл Блокнота:

    Get-ChildItem –Path "C:\path\to\folder" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item

    Измените этот путь: "C:\path\to\folder" с расположением папки, вы хотите удалить файлы и изменить -30 для выбора файлов с датой последнего изменения в приведенной выше команде.

  4. Нажмите на Файл меню.

  5. Выбрать Сохранить как вариант.

  6. Сохраните файл с помощью очистка.ps1 имя и расширение.

Создать задачу с помощью планировщика заданий

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

  1. Открытым Начинать.

  2. Ищи Планировщик заданий и нажмите на результат.

  3. Щелкните правой кнопкой мыши Библиотека планировщика заданий папка.

  4. Нажмите на Новая папка вариант.

  5. Введите любое имя для папки и нажмите ХОРОШО. (Мы создаем новую папку, чтобы задачи были организованы и отделены от системных задач.)

  6. Щелкните правой кнопкой мыши недавно созданную папку и выберите Создать задачу вариант.

  7. В поле «Имя» введите название задачи.

  8. На вкладке «Общие» в разделе «Параметры безопасности» выберите «Запускать независимо от того, вошел ли пользователь в систему или нет» в разделе «Параметры безопасности». (При выборе этого параметра командное окно не будет отображаться при автоматическом запуске задачи.)

    Вкладка «Общие» планировщика заданий

  9. Очистить Не хранить пароль вариант.

  10. Перейдите на вкладку «Триггеры».

  11. Нажмите на Новый кнопка.

  12. В раскрывающемся меню «Начать задачу» выберите По расписанию.

  13. В разделе «Настройки» укажите, когда вы хотите запускать задачу (например, «Вовремя», «Ежедневно», «Еженедельно», «Ежемесячно»). Какой бы вариант вы ни выбрали, обязательно укажите Начинать настройки с правой стороны.

  14. Нажмите на ХОРОШО кнопка.

    Настройки триггера планировщика заданий

  15. Нажмите на Действия вкладка

  16. Нажмите на Новый Кнопка.

  17. Выберите Запустить программу вариант с помощью раскрывающегося меню «Действия».

  18. В поле «Программа/скрипт» введите следующую команду:

    powershell.exe
  19. Введите следующую команду в поле «Добавить аргументы» и нажмите кнопку ХОРОШО кнопка.

    -ExecutionPolicy Bypass C:\path\to\cleanup.ps1

    Измените путь: "C:\path\to\cleanup.ps1" с расположением сценария PowerShell, которое вы ранее создали для удаления файлов в команде.

    Настройки действия планировщика заданий

  20. Нажмите на Настройки вкладка

  21. Проверьте следующие параметры:

    • Разрешить запуск задачи по требованию.
    • Запустите задачу как можно скорее после того, как запланированный запуск будет пропущен.
    • Если задача не удалась, перезапустите все.
  22. Нажмите на ХОРОШО кнопка.

  23. Введите имя пользователя и пароль администратора (если применимо).

  24. Нажмите на ХОРОШО кнопка.

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

Похожие записи

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

Ваш адрес email не будет опубликован.