Text 将两个文本文件合并为一个CSV文件

Text 将两个文本文件合并为一个CSV文件,text,file,csv,vbscript,batch-file,Text,File,Csv,Vbscript,Batch File,我正在使用windows批处理命令创建文件路径和文件名列表(不带ext)以进行处理和存档。我需要制作一个CSV文件,其中包含文件路径和文件名 我能够使用'DIR/A-D-S/D/S'命令输出带有文件路径的列表,即filelistA.txt。然后我使用vbscript(makelistB.vbs)剥离路径和扩展名,并将其另存为filelistB.txt。我需要一行一行地合并这两个文件,将逗号分隔符放在中间,这就是我需要某种VBscript的地方 filelistA.txt看起来像: C:\Data

我正在使用windows批处理命令创建文件路径和文件名列表(不带ext)以进行处理和存档。我需要制作一个CSV文件,其中包含文件路径和文件名

我能够使用'DIR/A-D-S/D/S'命令输出带有文件路径的列表,即filelistA.txt。然后我使用vbscript(makelistB.vbs)剥离路径和扩展名,并将其另存为filelistB.txt。我需要一行一行地合并这两个文件,将逗号分隔符放在中间,这就是我需要某种VBscript的地方

filelistA.txt看起来像:
C:\Data\Clients\COLD\AC3060P.txt
C:\Data\Clients\COLD\AC3090P.txt
C:\Data\Clients\COLD\AC3100P.txt
C:\Data\Clients\COLD\AC3150P.txt
C:\Data\Clients\COLD\AC3200P.txt
C:\Data\Clients\COLD\AC3600P.txt
C:\Data\Clients\COLD\AC3652P.txt
C:\Data\Clients\COLD\AC5715P.txt
C:\Data\Clients\COLD\AC5720P.txt
C:\Data\Clients\COLD\AC5725P.txt

filelistB.txt看起来像:
AC3060P
AC3090P
AC3100P
AC3150P
AC3200P
AC3600P
AC3652P
AC5715P
AC5720P
AC5725P

我想制作FileListCSV.txt,如下所示:
C:\Data\Clients\FWBT\COLD\AC3060P.txt,AC3060P
C:\Data\Clients\FWBT\COLD\AC3090P.txt,AC3090P
C:\Data\Clients\FWBT\COLD\AC3100P.txt,AC3100P
C:\Data\Clients\FWBT\COLD\AC3150P.txt,AC3150P
C:\Data\Clients\FWBT\COLD\AC3200P.txt,AC3200P
C:\Data\Clients\FWBT\COLD\AC3600P.txt,AC3600P
C:\Data\Clients\FWBT\COLD\AC3652P.txt,AC3652P
C:\Data\Clients\FWBT\COLD\AC5715P.txt,AC5715P
C:\Data\Clients\FWBT\COLD\AC5720P.txt,AC5720P
C:\Data\Clients\FWBT\COLD\AC5725P.txt,AC5725P


我也愿意使用SED for windows,如果它可以一次完成所有这一切的话。然而,我认为这应该是可以在几分钟内在VBscript中快速启动的东西。

这可能是SQLite shell的工作

C:\Temp> sqlite3.exe
create table paths(path text);
create table filenames(fname text);
.import fileListA.txt paths
.import fileListB.txt filenames
.separator ,
.output FileListCSV.txt
select * from paths p join filenames f on f.rowid = p.rowid;
.q

SQLite shell是一个单一的可执行文件,它将以文件的形式创建一个持久的SQLite数据库,或者在内存中创建一个数据库(就像这里一样,在命令行中没有任何参数)。

此Windows批处理文件将执行您想要的操作,而不需要中间文件

@ECHO OFF

FOR %%i IN (*.txt) DO ECHO %%~fi,%%~ni
您可以通过如下方式重定向输出,将此批的输出放入文本文件:

MyBatch.cmd>>Output.txt

在EasyMorph中,可以在“附加列”模式下使用附加转换快速完成此操作。

听起来是个不错的主意。但是,我试图粘贴您的命令,但出现语法错误。我还试图用该命令创建一个批处理文件(concat.bat),但出现了一个错误。下面是我在尝试粘贴时遇到的错误的屏幕截图:您不应该在dot命令前面加空格(
.import
或诸如此类)。你应该提到,这与原始文件,而不是OP提到的两个列表文件一起工作。这一次完成了我想要的一切。我知道在Linux中可以用SED完成,但Windows让我难堪。谢谢。