Я недавно ответил на очень похожий вопрос здесь
Короче говоря, вы можете использовать автономную сборку GNUWin32 команды Linux "Найти", чтобы удалить любой файл старше X минут.
Настроить
- Загрузите двоичные файлы (findutils-4.2.20-2-bin) и зависимости (findutils-4.2.20-2-dep) .zip по ссылке выше.
- Извлеките и скопируйте содержимое папки зависимостей в папку binaries (не стесняйтесь перезаписывать).
- Переименуйте find.exe в папке "bin" (например, gnu_find.exe), чтобы избежать конфликтов с любыми командами Windows.
Предполагая вышеупомянутое переименование, команда для поиска и удаления файлов старше 12 часов будет выглядеть так:
gnu_find.exe "C:\Path\To\Files" ! -mmin -720 -type f -delete
где, например, -720 представляет количество минут (60 * 12 в этом случае). Не откладывай! Опция (отрицание), так как без нее файлы менее (менее) 12 часов будут удалены.
Обратите внимание, что вы можете оставить off -delete, если вы хотите просто просмотреть файлы, с которыми он будет работать.
GNUWin32 Find также поддерживает опцию -name, которая позволяет сопоставлять шаблоны со звездочками, например
gnu_find.exe "C:\Path\To\Files" ! -mmin -720 -type f -name "text*" -delete
Предостережения об имени
- Помните, что -name всегда должно появляться перед -delete, иначе это не будет иметь никакого эффекта.
- Вы можете использовать звездочки по своему усмотрению для сопоставления с образцом (в том числе в нескольких позициях), но будьте осторожны с включением периодов со звездочками (то есть, если сопоставление расширений файлов является проблемой, просто используйте «имя файла *» или «* ext»). Это связано с тем, как командная строка Windows интерпретирует вещи.
- Вы можете найти конкретные имена (например, «filename.txt»), но в Windows вы должны включить расширение как GNUWin32 Find. Рассмотрите всю строку имени файла ("filename" <> «filename.txt»)
автоматизация
Вы можете использовать Task Scheduler для автоматического запуска, но, как я подробно описал в самой первой ссылке, это не может быть предпочтительным вариантом. Я лично рекомендую Linux-приложение в стиле "cron" (как подробно описано в этом ответе).
Windows 10
Вышеприведенное, вероятно, будет работать с любой версией Windows, но современные версии Windows 10 должны иметь возможность запускать подсистему Ubuntu Linux. "find" и "cron" являются чрезвычайно простыми и должны быть доступны с этим (хотя эта версия "cron" кажется связанной с открытым окном, поэтому может не совсем подходить для ваших целей).