将一个文本文件中的多行组合成一行

时间:2012-05-07 02:11:01

标签: windows string batch-file

所以我有一个包含多行字母和数字的文件,如下所示:

a 
1
h
7
G
k
3
l

END

我需要一种将它们组合在一起的代码,最好将它输出到变量中,如下所示:

var=a1h7Gk2l

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:4)

@echo off
setlocal enableDelayedExpansion
set "var="
for /f "usebackq" %%A in ("test.txt") do set var=!var!%%A
echo !var!

修改
我假设"结束"在您的文件中实际存在。如果确实存在,则可以在FOR语句后添加以下行以去除最后3个字符。

set "!var!=!var:~0,-3!"

答案 1 :(得分:1)

或者,如果您只想将结果放入文件中(而不是将其存储在内存中),您可以这样做:

@ECHO OFF
TYPE NUL >output.txt
FOR /F %%L IN (input.txt) DO (
  IF NOT "%%L" == "END" (<NUL >>output.txt SET /P "=%%L")
)
ECHO.>>output.txt

最后一个命令可能是不必要的,这取决于你是否需要行尾符号,以及行尾。