使用Batch逐行连接2个txt文件

时间:2016-03-09 07:54:56

标签: batch-file

基本上我尝试做的就是将两个文本文件合并在一起,这样两个文件中的每一行最终会相互靠近。我已经谷歌搜索了至少2个小时,并在SO上发现了这个:

Merge 2 txt files in a single tab delimited file in batch

为了简单起见,我将粘贴解决方案:

@echo off

 set f1=1.txt
 set f2=2.txt
 set "sep=  "  % tab %

 (
   for /f "delims=" %%a in (%f1%) do (
      setlocal enabledelayedexpansion
       set /p line=
       echo(%%a!sep!!line!
      endlocal
   )
 )<%f2%

pause
goto :eof

唯一的问题是,这只是在屏幕上输出结果。它没有把它放在一个文件中,它还添加了一个标签分隔符。说到批处理脚本,我真的不知道我在做什么!那么有人可以通过将输出输入文件而不添加任何分隔符来帮助我吗?在此先感谢:)

1 个答案:

答案 0 :(得分:1)

这应该有效:

@echo off
set f1=1.txt
set f2=2.txt
set outfile=mix.txt
type nul>%outfile%
(
    for /f "delims=" %%a in (%f1%) do (
        setlocal enabledelayedexpansion
        set /p line=
        echo(%%a!line!>>%outfile%
        endlocal
    )
)<%f2%

pause

此代码将合并文件写入mix.txt。您可以通过将mix.txt替换为任何其他路径来调整目标文件。