Qualquer forma de adicionar nova linha no final de vários arquivos de texto

0

Estou mesclando (concatenando) muitos arquivos de texto em um, mas tenho o problema de que eles não têm uma nova linha no final do texto.

Existe alguma maneira de acrescentar uma nova linha a todos os arquivos usando o comando do Windows ou arquivo em lotes?

Estou usando cmd.exe do Windows Vista.

    
por Mirage 22.02.2010 / 04:35

2 respostas

3

Você pode executar isso como um arquivo em lote

del merged.txt

for %%I in (*.txt) do (
    echo %%~fI >> merged.tmp
    echo ------------- >> merged.tmp
    type "%%I" >> merged.tmp
    echo. >> merged.tmp
    echo. >> merged.tmp
)

ren merged.tmp merged.txt

Dessa forma, você não precisa especificar os nomes, mas todos os arquivos devem estar na mesma pasta.

O echo %%~fI ecoa o nome completo do caminho, para outras opções você pode consultar

help for

Fora isso, se o resultado não for exatamente o que você quer, provavelmente tudo o que você precisa é apenas mudar o que é echo -ed

    
por 22.02.2010 / 05:01
3

Você pode concatenar arquivos usando COPY

Por exemplo, arquivos: data1.txt e data2.txt podem ser combinados por:

copy data1.txt + data2.txt dataFull.txt

e o resultado será em dataFull.txt. Se você deixar o destino, tudo estará no primeiro arquivo listado.

Para garantir uma nova linha, o método mais fácil, embora não o mais elegante, seria criar um arquivo, newline.txt, que é simplesmente uma linha em branco e incluí-lo após cada arquivo:

copy data1.txt + newline.txt + data2.txt dataFull.txt

Seria bastante simples incluir essa adição em uma estrutura em loop.

    
por 22.02.2010 / 04:44