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

浪尽此生 提交于 2020-01-04 02:41:09

问题


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!


回答1:


Using batch:

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



回答2:


@ECHO OFF
setlocal
(SET var=)
FOR /f "delims=" %%x IN (list.txt) DO (
CALL SET var=%%var%% %%x
)
SET var=%var:~1%
echo var=%var%=

Where list.txt is the file containing your lines and var is the variable into which you want the lines concatenated.




回答3:


Using PowerShell give this a try and see if it's what you want:

$my_file = "C:\file.txt"
$out_file = "C:\out.txt"
(Get-Content -Path $my_file) -join " " | Set-Content -Path $out_file



回答4:


For the sake of completeness here's another solution in vbscript:

Set fso = CreateObject("Scripting.FileSystemObject")

Set infile  = fso.OpenTextFile("C:\infile.txt")
Set outfile = fso.OpenTextFile("C:\outfile.txt", 2, True)

If Not infile.AtEndOfStream Then outfile.Write infile.ReadLine
Do Until infile.AtEndOfStream
  outfile.Write " " & infile.ReadLine
Loop

infile.Close
outfile.Close



回答5:


Something like this?

(gc C:\test.txt)  -join " "



回答6:


Install cygwin, then you can do

cat *.txt | tr "\n" " "


来源:https://stackoverflow.com/questions/15459131/how-to-combine-multiple-lines-in-a-single-text-file-into-one-line-in-windows

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!