Search code examples
windowsfor-loopbatch-filecmd

How to combine multiple lines in a single text file into one line, in Windows?


I have a multiple standard text files that follow this format, with varying numbers of lines in each file:

Line1
Line2
Line3
Line4

I want to merge every line into one, with a space in between each set of characters, so the text file would look as such:

Line1 Line2 Line3 Line3

...and so on. This needs to work with any given number of lines, due to the fact that each text file contains a different number of lines. My intention is not to merge the lines in the text files; I want each text file to remain separate. All the solutions I have found online either don't quite fit this or work exclusively with UNIX. I am running Windows 7. This can be done in Powershell, VBS, Batch, a particular program, doesn't matter, it just needs to work with Windows.

Much appreciated!


Solution

  • Using batch:

    for /f "usebackqdelims=" %%i in ("infile.txt") do @<nul set /p"=%%i ">>"outfile.txt"
    >>"outfile.txt" echo.