中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 合并文件和拆分文件[已结] 上一主题 | 下一主题
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『楼 主』:  合并文件和拆分文件[已结]

假设我有两个文件,类型为txt。都在D盘下
a.txt:

u u? 吚u*VVV癔q癔?????33333岴PVVVu ? 吚u9uvFu | 嬈^]? 烫烫虌U嬱u ?膼   j hA  u||瑨€|7梹|N檧|?€|€|?唡?亅)祤|?€|瓬€|Y█|G悅||<鎬|⑹亅鹟亅I獉|J亅綑€|
鄝|w泙|]檧|?亅#█|9]
....


b.txt:
空一行
$h*5)
dk&%A6526a5+65aDSAO
AS&89789%;DWE
329UR7AYYZ&^%A78y
....



问题:
怎么把b.txt的内容追加到a.txt最后(两个文本之间空一行)命名为c.txt
又怎么把b.txt的内容从c.txt分离出来命名为d.txt

[ Last edited by Mxark on 2007-4-8 at 09:41 AM ]

2007-4-8 03:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 2 楼』:  

我晕.你把批处理当什么了.

又是追加又是拆分的..

直接用c++搞定得了。

追加还可以用copy /b参数搞定.

拆分嘛.自己用c++写吧.

批处理写不出来。
写出来也不能应付所有的情况。(不如不写)



知,不觉多。不知,乃求知
2007-4-8 06:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kcdsw
中级用户





积分 404
发帖 179
注册 2006-3-30
状态 离线
『第 3 楼』:  

我晕  复制b 到 d 行不行啊

追加  copy file1+file2 file3

2007-4-8 07:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 4 楼』:  

批处理已凌驾于c++之上......

2007-4-8 09:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 5 楼』:  

这里的批处理是无所无不能的;

记得前几天的经典语句?

我要回火星;批处理咋写??

2007-4-8 10:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


试试看??
@echo off
copy a.txt a.bak >nul
copy b.txt b.bak >nul
copy /y /b a.txt+b.txt c.txt >nul
del a.txt b.txt
start c.txt
set/p choose=是否拆分文件[Y]/[N]
if /i not "%choose%"=="y" exit/b
for /f "delims=: tokens=1*" %%a in ('findstr /n .* c.txt^|more') do (
        if "%%b"=="" set lxmxn=batchinger
        if not defined lxmxn (echo/%%b>>a.txt) else (echo/%%b>>b.txt)
)
start a.txt
start b.txt
pause


   此帖被 +5 点积分       点击查看详情   
评分人:【 Mxark 分数: +1  时间:2007-4-8 22:21
评分人:【 baomaboy 分数: +4  时间:2007-4-9 01:38


2007-4-8 14:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『第 7 楼』:  

谢谢拉lxmxn
我的权限只能加1分
OK
搞定

2007-4-8 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 8 楼』:  

呵呵,可以应付在a.txt 和 b.txt  文件里没有空行的情况了。

如果a.txt里面有个空行的话。。。

分离就会出错。。

而文件千奇百怪。
这样是否有问题呢????

最少一个空行是一个文本文件里很正常的现象。



知,不觉多。不知,乃求知
2007-4-9 22:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 9 楼』:  

if "%%b"=="" set lxmxn=batchinger
        if not defined lxmxn (echo/%%b>>a.txt) else (echo/%%b>>b.txt)

根据这个条件做出的判断。



知,不觉多。不知,乃求知
2007-4-9 22:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: