Как удалить файлы, заканчивающиеся подстрокой и старше N дней - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу delete файлы без расширений старше 7 дней, чьи имена заканчиваются на _C.

Примеры файлов:

B_C_A1_C
B_C_A2_C
B_C_A3_A
test.txt 

My код:

SET mypath=%cd%\downloads
ForFiles /p %mypath% /d -7 /c "cmd /c del /q %mypath%\*_C

Когда я выполняю код, он удаляет все файлы, которые содержат _C, но я хочу удалить только те файлы, которые заканчиваются на _C и старше 7 дней.

Как я могу это исправить?

1 Ответ

0 голосов
/ 18 февраля 2020

Подробнее о документации forfiles см. Пакетный файл для удаления файлов старше N дней .

Подстановочное выражение *_C выбирает любые файлы, которые заканчивается _C, независимо от того, имеет ли оно расширение.

Окончательный код безумно сложен:

forfiles /p "%cd%" /m *_C /C "cmd /c \"echo @file^|find \".\" ^|^| del @path\""

Использование *_C выберет следующее:

anything without periods_C

Будет НЕ выбрать следующее:

any.thing_C
anything.txt._C
anything containing periods_C
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...