Como criar um arquivo em lotes que exclua arquivos por palavras no final do nome do arquivo (usando uma lista de palavras)?

0

Eu tenho um diretório com milhares de html arquivos espalhados em vários subdiretórios. Eu preciso excluir todos os arquivos correspondentes a qualquer um dos muitos critérios. Todos os critérios são semelhantes por tipo. Os nomes dos arquivos são como:

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

Portanto, todos os arquivos que terminam em determinados nomes de host devem ser excluídos. Existem cerca de 20 nomes de host por enquanto. (Mas esse número aumentará para cerca de 100.) Eu armazeno uma lista no arquivo txt e prefiro fazê-lo.

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

O problema é que alguns arquivos "bons" contêm nomes de host "ruins", mas não no final do nome do arquivo.

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

Posso criar um arquivo bach para verificar com segurança todos os subdiretórios e remover arquivos desnecessários usando a lista? SO é o Windows 7. Eu quero configurar o Agendador de Tarefas para executar tal butch cada noite. Mas eu não estou familiarizado com comandos. Por favor ajude.

P.S. De fato, alguns arquivos "ruins" têm pastas vinculadas _files . Espero que eles sejam excluídos automaticamente, como acontece quando excluo manualmente o arquivo principal html .

    
por Mirosav Kostyakov 25.08.2013 / 11:30

1 resposta

0

Apenas uma rapidinha para você começar:

@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
    
por 25.08.2013 / 22:14