批处理怎么对文本字符串去重然后再拼接

D盘目录下有一个很多文本文件(.txt),内容如下:"111111111111111111111111#a1""111111111111111111111111#b1""... D盘目录下有一个很多文本文件(.txt),内容如下:
"111111111111111111111111#a1"
"111111111111111111111111#b1"
"111111111111111111111111#c1"
"111111111111111111111111#d1"

现在想做一个批处理,把该文件夹下的所有文本内容进行去重,拼接,达到类似如下效果
111111111111111111111111#a1b1c1d1
并输出为一个新的文本文档

求问大神该怎么做?
我设置了一个字符“#”,批处理文件在第二行搜索到这个字符的时候,就把这一行在“#”之后的字符串截取出来,放到第一行尾部,并删除第二行,类似循环操作
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
百度网友dadee7f
推荐于2016-08-01 · TA获得超过1869个赞
知道小有建树答主
回答量:867
采纳率:67%
帮助的人:394万
展开全部
1、“目录下有一个很多文本文件”,这到底是一个文件,还是很多文件,俺语文不好,求解释啊!(根据下文,似乎有N个TXT文件)
2、所有txt都是"111111111111111111111111#a1"这种格式?每个文件只有这么一行还是有N行?
3、“把该文件夹下的所有文本内容进行去重,拼接,并输出为一个新的文本文档”,是把N个TXT的内容全合并到一个新文件中?
更多追问追答
追问
1,N个文件
2,所有txt都是这种格式:前面一大串一样的字符,只有后面不一样
3,每一个文件对应输出一个新文件,即输出N个新文件
追答
 Set fso = WScript.CreateObject("Scripting.Filesystemobject")

Set fdr = fso.GetFolder(".")'当前文件夹

Set fs = fdr.Files

for Each f in fs

If LCase(Right(f.Name,4))=".txt" Then'判断后缀是否为.txt

Set ftxt=fso.OpenTextFile(f.Name,1)

rs=ftxt.ReadLine'从源文件读入第一行,rs为最终拼合起来的总字符串

do until ftxt.AtEndOfStream'读取源文件剩下内容

strline=ftxt.ReadLine'从源文件读入一行

strarr=Split(strline,"#",-1)'以#为分隔符,将该行字符串分割成包含两个元素的数组,—

rs=rs&strarr(1)'strarr(1)即为要拼接的字符串

Loop

ftxt.Close

Set fnew=fso.CreateTextFile("new_"&f.name,1)'新建文件,文件名前面加上new_

fnew.Write(rs)

fnew.Close

End If

Next
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式