Crie um arquivo de lote chamado proc.bat que contenha:
echo %1=>>output.txt
type %1>>output.txt
Em seguida, use este comando:
for %v in (file*.txt) do proc %v
Eu tenho 10 arquivos como abaixo:
file1.txt
(conteúdo do arquivo="eu tenho texto para o arquivo1") file2.txt
(conteúdo do arquivo="eu tenho texto para o arquivo2") file3.txt
(conteúdo do arquivo="eu tenho texto para o arquivo3") e por isso
Estou tentando fazer um comando TYPE
como:
type file*.txt > OUTPUT.txt
isso funciona para produzir apenas o conteúdo do arquivo. Eu preciso de saída para também ter nome de arquivo para cada arquivo.
meu arquivo output.txt
deve ficar assim:
file1.txt = "i contain text for file1"
file2.txt = "i contain text for file2"
file3.txt = "i contain text for file3"
Crie um arquivo de lote chamado proc.bat que contenha:
echo %1=>>output.txt
type %1>>output.txt
Em seguida, use este comando:
for %v in (file*.txt) do proc %v
Use o próximo comando na janela cmd
:
>output.txt (for /F "tokens=1* delims=:" %G in ('findstr "^" "file*.txt"') do @echo %G = "%H")
Se usado em um script em lote, sinais de porcentagem dupla em for
variáveis internas de loop (por exemplo, %%G
, %%H
em vez de %G
, %H
respectivamente):
@echo off
>output.txt (for /F "tokens=1* delims=:" %%G in ('findstr "^" "file*.txt"') do echo %%G = "%%H")
Recursos (leitura obrigatória):
%G
etc. página especial) Argumentos da linha de comando (parâmetros)
>
página especial) Redirecionamento
Você pode tentar:
for /l %f in (1,1,3) do echo|set /p="File %f = " >> output.txt & type file%f.txt >> output.txt
Isso produzirá um arquivo com a seguinte aparência:
File 1 = Text in file1
File 2 = Text in file2
File 3 = Text in file3
O comando for /l
conta de 1 a 3 em incrementos. Em geral (start,increment,end)
.
Tags command-line windows batch