Como eu escrevo um script em lote que percorre todos os arquivos png em todas as subpastas e faz uma ação?

1

Estou procurando construir um pequeno script em lote que execute a linha de comando do pngout.exe

Até agora eu só tenho isso para baixo

for %i in (*.png) do "g:\myfiles\_pngout.exe" "%i" /s0 /c6

No entanto, para que isso funcione eu tenho que ir manualmente para cada pasta onde estão os pngs e abrir uma janela cmd do Win7, em seguida, copie e cole essa linha.

O que eu quero é que a linha funcione em C: \ MyPNGs e em suas subpastas, como C: \ MyPNGs \ Avatars etc., ela deve iterar por todos os pngs e sempre executar esse "g:\myfiles\_pngout.exe" "%i" /s0 /c6

Alguma idéia?

    
por Grumpy ol' Bear 05.04.2014 / 23:33

1 resposta

4

Você pode usar o seguinte comando em um dosprompt:

for /r %f in (*.png) do _pngout.exe "%f"

ou o seguinte dentro de um arquivo em lotes:

for /r %%f in (*.png) do _pngout.exe "%%f"

Para / r também tem suporte para fornecer um diretório inicial. Caso contrário, ele usará o diretório atual e obterá todos os arquivos em todos os subdiretórios que corresponderem à sua máscara de arquivo.

    
por 06.04.2014 / 02:28