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.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.