CMD recursivo ou script BAT do Windows

CMD recursivo ou script BAT do Windows

Como posso criar um BAT ou CMD que irá percorrer uma árvore de pastas e executar o mesmo comando em cada arquivo de pasta?

Por exemplo

myexe.exe C:\Documents and Settings\folder1\filename.txt
myexe.exe C:\Documents and Settings\folder2\filename.txt

Notas:

  • O nome do arquivo é o mesmo em cada pasta encontrada.
  • Os nomes das pastas serão todos diferentes.

Sua ajuda é muito apreciada ou qualquer dica de por onde começar.

Responder1

Adapte este arquivo em lote às suas necessidades:

@echo off
cd "\program files"
for /f "usebackq delims=|" %%a in (`dir filename.txt /s/b`) do (
        echo %%a
        myexe "%%a"
)

certifique-se de colocar a variável entre aspas duplas caso o nome do arquivo contenha espaços.

Responder2

Uma abordagem PowerShell:

Get-ChildItem -Recurse . NOME DO ARQUIVO.TXT | para cada {
    $_
    & meuexe $ _
}

informação relacionada