将每行从2个文件复制到1个文件Windows批处理

时间:2015-01-16 12:52:21

标签: windows for-loop concatenation batch-processing findstr

我必须使用文件并且两者都有相同数量的行,并且我需要将两个文件的每一行复制到一个新文件,但是连接起来。因此,需要将两个文件的第1行复制到新文件的第1行,甚至包含该行中的其他文本。这是更大的Windows批处理(cmd.exe)的一部分。

输入文件" date.txt":

  

150102
  150103个
  150104个
  150105

输入文件" ID":

  

ID01
  ID02
  ID03
  ID04

输出文件" Date_ID.txt"我需要:

  

150102与ID01
相同   150103与ID02相同   150104与ID03相同   150105与ID04相同

有人可以帮帮我吗?我尝试使用/ for和findstr,但因为它是循环的,我会得到每个日期与每个ID的每个组合。

1 个答案:

答案 0 :(得分:0)

@echo off
setlocal enableDelayedExpansion
set "file1=path_to\date.txt"
set "file2=path_to\id.txt"
set "out=path_to\output.txt"

for /f %%N in ('type "%file1%"^|find /c /v ""') do set "cnt=%%N"
 >"%out%" 9<"%file1%" <"%file2%" (
   for /l %%N in (1 1 %cnt%) do (
    set "ln1="
     set "ln2="
    <&9 set /p "ln1="
    set /p "ln2="
    echo !ln1! is the same as !ln2!
  )
)
type "%out%"