Batch file 将文本文件行合并为行批处理文件

Batch file 将文本文件行合并为行批处理文件,batch-file,cmd,Batch File,Cmd,我从一个excel电子表格开始,它有两列(一列是出生日期,一列是姓氏)。我推断并使用了一个批处理文件来修改“出生日期”列,因此现在我有了一个包含以下内容的文本文件(用于SQL查询): 现在,我想获取第二列(通过创建一个单独的lastname.txt文件),并将其合并到第行上方的输出文件中,这样我的姓氏文件如下所示: SMITH JONES 将合并到一个新的输出文件,如下所示: (BirthDateTime = '01/01/2017' AND Name LIKE '%SMITH%') OR (

我从一个excel电子表格开始,它有两列(一列是出生日期,一列是姓氏)。我推断并使用了一个批处理文件来修改“出生日期”列,因此现在我有了一个包含以下内容的文本文件(用于SQL查询):

现在,我想获取第二列(通过创建一个单独的lastname.txt文件),并将其合并到第行上方的输出文件中,这样我的姓氏文件如下所示:

SMITH
JONES
将合并到一个新的输出文件,如下所示:

(BirthDateTime = '01/01/2017' AND Name LIKE '%SMITH%') OR
(BirthDateTime = '01/01/2016' AND Name LIKE '%JONES%') OR
不幸的是,我是批处理文件的新手,我只是不知道从哪里开始。我在下面包含了我用来创建第一部分的批处理文件

批处理文件:

@echo off
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N+=1
echo BirthDateTime = '%%a' AND Name LIKE '>>output.txt
)

根据@Stephan的评论,我刚开始在Excel中执行此操作,并使用以下公式:


=“(BirthDateTime=”&A2&“,名字像“%”&B2&“%”或“
”,效果很好。因为我特别询问了批处理文件,所以我不确定是否适合接受这一回答。如果有人有一些代码,或者如果Stephan想把他的链接作为一个答案,并在他的代码中加入一些解释,我会接受,否则我会在2天内接受这个答案。

你的问题有点让人困惑。您显示了两个文本文件,但您的代码似乎使用了其他一些文件(仅限日期)。无论如何,我涵盖了这两种可能性;只需使用正确的
echo
行即可

要读取和合并两个文件,请使用小技巧(使用两种不同的方法读取文件):

@echo关闭
延迟扩展

如果这是一次性任务,则在EXCEL中手动插入列要容易得多。。。。否则,请查看如何同时读取两个文件。
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N+=1
echo BirthDateTime = '%%a' AND Name LIKE '>>output.txt
)
@echo off
setlocal enabledelayedexpansion
<t2.txt (
  for /f "delims=" %%a in (t1.txt) do (
    set /p name=
    echo (%%a!name!'^) OR 
    REM echo (BirthDateTime = '%%a' AND Name LIKE '!name!'^) OR
  )
)>out.txt
type out.txt