Existe uma opção que também escreve o nome do arquivo?
Use echo
para também adicionar o nome do arquivo ao arquivo de saída.
Aqui está um arquivo de lote de exemplo que você pode modificar conforme apropriado:
test.cmd:
@echo off
setlocal enabledelayedexpansion
for /f %%f in ('dir /b *.txt') do (
echo filename: %%f >> output.txt
type "%%f" >> output.txt
)
endlocal
Notas:
- A saída de
dir
é usada, caso contrário, os arquivos.txt
são processados várias vezes.
Exemplo de uso e saída:
F:\test\test>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
12/08/2016 14:04 <DIR> .
12/08/2016 14:04 <DIR> ..
11/08/2016 21:07 8 a.txt
11/08/2016 21:07 8 b.txt
11/08/2016 21:08 8 c.txt
3 File(s) 24 bytes
2 Dir(s) 1,769,524,736,000 bytes free
F:\test\test>type *.txt
a.txt
test1
b.txt
test2
c.txt
test3
F:\test\test>..\test
F:\test\test>type output.txt
filename: a.txt
test1
filename: b.txt
test2
filename: c.txt
test3
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- dir - Exibe uma lista de arquivos e subpastas.
- echo - Exibe mensagens na tela, ativa ou desativa o eco de comando.
- para / f - Comando Loop contra os resultados de outro comando.