【问题标题】:copy each line from 2 files to 1 file Windows batch将每行从 2 个文件复制到 1 个文件 Windows 批处理
【发布时间】:2015-01-16 12:52:20
【问题描述】:

我必须要文件并且两者都有相同数量的行,并且我需要将两个文件的每一行都复制到一个新文件中,但要连接起来。因此,需要将两个文件的第 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 的每个组合。

【问题讨论】:

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


【解决方案1】:
@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%"

【讨论】:

  • 这正是我所要求的,太棒了!非常感谢!
  • 我很高兴,我也学到了一些东西。如果它有效,请投票/接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
  • 2020-08-08
  • 1970-01-01
  • 2010-11-02
  • 2021-10-10
  • 2013-04-23
  • 1970-01-01
相关资源
最近更新 更多