中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 18:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 合并文件夹内所有文本格式文件 查看 1,112 回复 9
楼 主 合并文件夹内所有文本格式文件 发表于 2008-05-15 17:47 ·  中国 重庆 荣昌区 联通
新手上路
积分 10
发帖 4
注册 2007-08-02 12:08
19年会员
UID 94497
性别 男
状态 离线
文件夹内有扩展名为.dat的文件3000多个,每个文件内只有一行内容,需要将3000个文件的内容合并到一个新的文件内,每个文件的内容占一行。
请大家帮帮忙,帮我写一个批处理。我等着急用。
注:用网上下载的文本文件合并器用不上,合并后所有内容都连在一起了。


[ Last edited by rctjwzy on 2008-5-15 at 05:49 PM ]
2 发表于 2008-05-15 20:11 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
more *.dat > newfile.txt
3 发表于 2008-05-16 13:19 ·  中国 重庆 电信
新手上路
积分 10
发帖 4
注册 2007-08-02 12:08
19年会员
UID 94497
性别 男
状态 离线
谢谢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%) -- 是多余的
4 发表于 2008-05-16 19:46 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
你上传10个你的dat文件用于测试吧。

copy /b *.dat>newfile.txt?
5 发表于 2008-05-17 18:25 ·  中国 重庆 电信
新手上路
积分 10
发帖 4
注册 2007-08-02 12:08
19年会员
UID 94497
性别 男
状态 离线
6 发表于 2008-05-17 20:10 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@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
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
rctjwzy +1 2008-05-17 22:05
nipo +2 2008-05-17 22:39
7 发表于 2008-05-17 22:03 ·  中国 重庆 电信
新手上路
积分 10
发帖 4
注册 2007-08-02 12:08
19年会员
UID 94497
性别 男
状态 离线
谢谢slore:
  用你的代码已经解决了我的问题,而且速度超快,谢谢你的热心帮助。
8 发表于 2008-05-17 23:04 ·  中国 广东 东莞 电信
初级用户
★★
积分 118
发帖 52
注册 2008-05-07 09:39
18年会员
UID 117968
性别 男
状态 离线
干嘛要搞得那么复杂:
copy *.dat my.txt
就行了
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
bd123456789 +2 2008-12-22 11:21
9 发表于 2008-05-17 23:41 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
copy没有换行……
10 发表于 2008-05-24 06:01 ·  中国 北京 鹏博士BGP
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Dana +2 2008-11-19 11:16
论坛跳转: