合并两个文本文件合并为一个CSV文件 [英] Merging Two Text Files into One CSV File

查看:1054
本文介绍了合并两个文本文件合并为一个CSV文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Windows批处理命令的工作创造文件路径,并进行处理和存档文件名(不包括分机)的列表。我需要将包含文件的路径和文件名的CSV文件。

I'm working with a windows batch command to create a list of filepaths and filenames (without the ext) for processing and archival. I need to make a CSV file that will contain the path to the file and the filename.

我能够使用DIR / A-D-S / D / S命令输出列表的文件路径,这是filelistA.txt。然后我用一个VBScript(makelistB.vbs)剥离路径和扩展,并且保存为filelistB.txt。我需要合并为行两个文件一行,把逗号分隔符之间而这也正是我需要某种形式的VBScript。

I was able to use the 'DIR /A-D-S /D /S' command to output the list with the file paths, which is filelistA.txt. Then I use a vbscript (makelistB.vbs) to strip the path and extension and save that as filelistB.txt. I need to merge the two files row for row, putting the comma separator in between and that's where I need some sort of VBscript.

filelistA.txt样子:结果
C:\\ DATA \\客户端\\冷\\ AC3060P.txt结果
C:\\ DATA \\客户端\\冷\\ AC3090P.txt结果
C:\\ DATA \\客户端\\冷\\ AC3100P.txt结果
C:\\ DATA \\客户端\\冷\\ AC3150P.txt结果
C:\\ DATA \\客户端\\冷\\ AC3200P.txt结果
C:\\ DATA \\客户端\\冷\\ AC3600P.txt结果
C:\\ DATA \\客户端\\冷\\ AC3652P.txt结果
C:\\ DATA \\客户端\\冷\\ AC5715P.txt结果
C:\\ DATA \\客户端\\冷\\ AC5720P.txt结果
C:\\ DATA \\客户端\\冷\\ AC5725P.txt结果

filelistA.txt looks like:
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结果

filelistB.txt looks like:
AC3060P
AC3090P
AC3100P
AC3150P
AC3200P
AC3600P
AC3652P
AC5715P
AC5720P
AC5725P

我想打FileListCSV.txt,看起来像这样:结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3060P.txt,AC3060P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3090P.txt,AC3090P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3100P.txt,AC3100P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3150P.txt,AC3150P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3200P.txt,AC3200P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3600P.txt,AC3600P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC3652P.txt,AC3652P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC5715P.txt,AC5715P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC5720P.txt,AC5720P结果
C:\\ DATA \\ CLIENTS \\ FWBT \\冷\\ AC5725P.txt,AC5725P结果

I want to make FileListCSV.txt, that looks like this:
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的窗口,如果能够做到这一切在一杆。不过,我想这应该是东西,可以在VBScript在几分钟内刮起。

I'm also open to using SED for windows if that can do all of this in one shot. However, I would imagine this should be something that can be whipped up in VBscript in a few minutes.

推荐答案

此Windows批处理文件将你想要做什么,而不需要中间的文件。

This Windows batch file will do what you want without the need for the intermediate files.

@ECHO OFF

FOR %%i IN (*.txt) DO ECHO %%~fi,%%~ni

您可以通过重定向输出这样得到这个批次的输出到一个文本文件:

You can get the output of this batch into a text file by redirecting the output like this:

MyBatch.cmd>>Output.txt

这篇关于合并两个文本文件合并为一个CSV文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆