Qualquer maneira 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 ou arquivo em lotes do Windows?

Estou usando o cmd.exeWindows Vista.

Miragem
fonte

Respostas:

3

Você pode executar isso como um arquivo em lotes

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 %%~fIeco do nome do caminho completo. Para outras opções, você pode consultar

help for

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

RichN
fonte
tudo funcionou bem, obrigado amigo. Qualquer maneira de adicionar o nome do arquivo no arquivo mesclado
Mirage
Eu não sei exatamente como você quer, mas eu acho que a minha resposta editada deve apontá-lo na direção certa
RichN
3

Você pode concatentar arquivos usando COPY

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

copy data1.txt + data2.txt dataFull.txt

e o resultado estará 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í-la 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.

HerbN
fonte