Como você usa o comando “FOR” no Windows CMD?

3

Então digamos que eu tenha uma estrutura de diretórios como essa,

\folder 1\  
\folder 1\folder A\  
\folder 2\  
\folder 2\folder B\

Assim por diante ..

Dentro de cada diretório existem arquivos *.abc e *.xyz. Para cada *.abc ou *.xyz arquivo sob o diretório que preciso executar program.exe e salve o resultado dessa maneira,

program.exe -argumen1 -argument2 [*.abc or *.xyz] >> Text.txt

Minha pergunta é como fazer isso em um comando no Windows CMD? Parece for é o que eu deveria estar usando, mas o guia de ajuda embutido é bastante confuso para mim.

trumpet205
fonte

Respostas:

2

Como eu faço isso?

Dentro de cada diretório existem arquivos * .abc e * .xyz. Para cada arquivo * .abc ou * .xyz no diretório eu preciso executar o "program.exe" e salvar o resultado dessa maneira ...

Arquivo em lote (test.cmd):

@echo off
setlocal
for /f "usebackq" %%i in (`dir /b /s *.abc *.xyz`) do (
  program.exe -argument1 -argument2 %%i >> Text.txt
  )
)
endlocal

Linha de comando:

for /f "usebackq" %i in (`dir /b /s *.txt *.cmd`) do @echo program.exe -argument1 -argument2 %i >> Text.txt

Leitura Adicional

DavidPostill
fonte