Board logo

标题: 合并文件夹内所有文本格式文件 [打印本页]

作者: rctjwzy     时间: 2008-5-15 17:47    标题: 合并文件夹内所有文本格式文件

文件夹内有扩展名为.dat的文件3000多个,每个文件内只有一行内容,需要将3000个文件的内容合并到一个新的文件内,每个文件的内容占一行。
请大家帮帮忙,帮我写一个批处理。我等着急用。
注:用网上下载的文本文件合并器用不上,合并后所有内容都连在一起了。


[ Last edited by rctjwzy on 2008-5-15 at 05:49 PM ]
作者: lxmxn     时间: 2008-5-15 20:11
more *.dat > newfile.txt
作者: rctjwzy     时间: 2008-5-16 13:19
谢谢lxmxn帮忙
试了一下,还是有问题,一是回车一次才复制一个,二是复制后有多余的内容
metaid=8600000002008032807000083,immed=checked,inputType=0,period
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,
-- More (100%) -- metaid=8600000002008032807000083,immed=checked,

-- More (100%) -- 是多余的
作者: slore     时间: 2008-5-16 19:46
你上传10个你的dat文件用于测试吧。

copy /b *.dat>newfile.txt?
作者: rctjwzy     时间: 2008-5-17 18:25
测试用dat文件
http://upload.cn-dos.net/img/419.rar
作者: slore     时间: 2008-5-17 20:10
@echo off
if Not EXIST R.vbs more +6 %0>R.vbs
copy /b *.dat Full.txt>nul
wscript R.vbs
exit

Set objFSO = CreateObject("Scripting.FileSystemObject")
'读取内容
Set objFile = objFSO.OpenTextFile("Full.txt",1)
StrIn = objFile.ReadAll
objFile.Close
'替换后写入
Set objFile = objFSO.OpenTextFile("Full.txt",2)
objFile.Write Replace(StrIn,"sign=","sign=" & vbCrLf)
objFile.Close
'释放对象
Set objFile = Nothing
Set
objFSO = Nothing
作者: rctjwzy     时间: 2008-5-17 22:03
谢谢slore:
  用你的代码已经解决了我的问题,而且速度超快,谢谢你的热心帮助。
作者: wxs81514     时间: 2008-5-17 23:04
干嘛要搞得那么复杂:
copy *.dat my.txt
就行了
作者: slore     时间: 2008-5-17 23:41
copy没有换行……
作者: qinchun36     时间: 2008-5-24 06:01
for /r %i in (*.dat) do type %i>>b.txt&echo.>>b.txt

测试可行

[ Last edited by qinchun36 on 2008-5-24 at 06:04 AM ]