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

3

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 arquivo *.abc ou *.xyz no diretório, preciso executar program.exe e salvar seu resultado dessa maneira,

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

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

    
por trumpet205 10.02.2017 / 07:50

1 resposta

2

Como faço isso?

Within each directory there are files *.abc and *.xyz. For every *.abc or *.xyz file under the directory I need to run "program.exe" and save the result in this manner ...

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

por 10.02.2017 / 14:00