Как создать пакетный файл, который удаляет файлы по словам в конце имени файла (используя список слов)?

0

У меня есть каталог с тысячами html файлы разбросаны по нескольким подкаталогам. Мне нужно удалить все файлы, соответствующие любому из многих критериев. Все критерии похожи по виду. Имена файлов похожи на:

MM-DD_hh-mm-ss__www.host.com.html

Таким образом, все файлы, оканчивающиеся на определенные имена хостов, должны быть удалены. На данный момент существует около 20 имен хостов. (Но это число увеличится примерно до 100.) Я храню список в txt файл и предпочитаю это делать.

__first.site.com.html
__www.secondsite.com_.html
__site.com_numberthree.html

Дело в том, что некоторые «хорошие» файлы содержат «плохие» имена хостов, но не в конце имени файла.

__www.onesite.com_.html (bad)
__www.onesite.com_prices.html (good)

Могу ли я создать файл bach для безопасного сканирования всех подкаталогов и удаления ненужных файлов с помощью списка? ОС Windows 7. Я хочу настроить планировщик заданий так, чтобы он запускал каждую ночь. Но я не знаком с командами. Пожалуйста помоги.

Постскриптум На самом деле, некоторые «плохие» файлы имеют связанные папки _files, Я ожидаю, что они будут удалены автоматически, как это происходит, когда я вручную html файл.

Mirosav Kostyakov
источник
1
Мы здесь не для того, чтобы делать вашу работу за вас. Попробуйте, так что решайте сами, и когда вы застряли на конкретный проблема, спросите об этом. Однако я могу сказать, что пакет не является подходящим инструментом для работы. Есть несколько лучших языков сценариев для окон, которые вы можете использовать. Например powershell, perl, python или даже javascript.
Nifle
@Nifle Я прошу прощения за исчезновение. «Постарайся решить это сам, и когда ты застрянешь в конкретной проблеме, спроси об этом». Да я получил его. Я попробую PowerShell. Благодарю.
Mirosav Kostyakov

Ответы:

0

Просто быстрое начало работы:

@echo off

for /F %%p in (list.txt) do (
    echo Current pattern: %%p
    for /R "C:\" %%f in (*%%p*) do (
        echo File: %%f
    )
)

exit /B 0
Vlastimil Ovčáčík
источник
Это не работает для хороших файлов с плохими именами хостов.
Endoro
@Endoro: почему бы и нет?
Vlastimil Ovčáčík
это будет "удалить" __www.onesite.com_prices.html
Endoro
Ах, я неправильно понял «плохое» и «хорошее» (плохое) объяснение в вопросе.
Vlastimil Ovčáčík
@Vlastimil, спасибо за ваше время. Я извиняюсь за плохое объяснение.
Mirosav Kostyakov