arquivo em lote: pesquisa no sistema de arquivos para pastas específicas e execute um comando para cada ocorrência

0

Sou novo em arquivos em lote e preciso de ajuda. Eu quero fazer o seguinte.

Eu criei um arquivo de lote que está procurando a pasta "Recordings" no sistema de arquivos e grava os resultados em um arquivo de texto (results.txt). Depois disso, ele está procurando pela string "Directory" dentro dos resultados. Eu quero, em seguida, mesclar cada linha de findstr (cada caminho) com o comando de execução de uma ferramenta que estou usando.

batchfile.bat:

@echo off
dir /S Recordings > C:\testing\results.txt
findstr Directory C:\testing\results.txt
PAUSE

A saída é assim:

C:\testing>batchfile.bat
 Directory of C:\testing\Scenarios\Default
 Directory of C:\testing\Scenarios\test1
Press any key to continue . . .

Agora, quero que todas as linhas dessa saída sejam mescladas com meu comando de execução:

tool.exe -parameter C:\testing\Scenarios\Default\Recordings
tool.exe -parameter C:\testing\Scenarios\test1\Recordings
    
por Jimi 24.01.2018 / 16:32

1 resposta

1

Eu quero que todas as linhas desta saída sejam mescladas com o meu comando de execução

Use o seguinte arquivo em lotes:

@echo off
setlocal
for /f "usebackq" %%i in ('dir /a:d /b /s ^| findstr "Recordings"') do (
  tool.exe -parameter %%i
  )
endlocal

Leitura Adicional

por 24.01.2018 / 17:03