中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何对两个文本文件的内容进行对换?
作者:
标题: 如何对两个文本文件的内容进行对换? 上一主题 | 下一主题
fuhaiquan
新手上路





积分 18
发帖 7
注册 2007-3-21
状态 离线
『楼 主』:  如何对两个文本文件的内容进行对换?

有两个文本文件(a.txt,b.txt),想把a.txt里面的内容用b.txt的内容替代,不知用批处理命令该如何实现?
eg:文本文件a.txt的内容(随机产生的)为:IWB002|20060720100500|E010962|085|110|37512|37512|0|0|0|||||||||||0|0|0|0|0|0|0|0|0|0|||||0|20060720|101028||,
文本文件b.txt的内容(给定的):This file shows status if processing is normally completed;现在要实现的结果就是将a.txt的内容变成:This file shows status if processing is normally completed
备注:文本文件a.txt文件名a也是随机产生的,文本文件b.txt的文件名是给定的

2007-3-22 23:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 2 楼』:  

说得太难理解了。
若要用b.txt覆盖a.txt,用type b.txt>a.txt或是more b.txt>a.txt或是findstr .* b.txt>a.txt都行。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-3-22 23:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fjcase
初级用户





积分 53
发帖 23
注册 2007-2-2
状态 离线
『第 3 楼』:  

可以做先生成个中间文件,然后进行对换。比如,有三个文件,a.txt b.txt c.txt
其中c.txt为空内容,那么现在可以将a.txt内容复制到c.txt,再将b.txt内容复制到a.txt,最后将c.txt复制到b.txt.完成要求

2007-3-22 23:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fuhaiquan
新手上路





积分 18
发帖 7
注册 2007-3-21
状态 离线
『第 4 楼』:  

但是文本文件a.txt文件名不是确定的,是随机产生的,而这命令type b.txt > a.txt中要求文件名a是给定的.
再解释一下我做这个操作的原因,机台每天都会产生.txt的文件文件,而且文件名又是随机给的,我想把生成的这些文本文件的内容都用“This file shows status if processing is normally completed ”代替,可不知该如何实现。

2007-3-23 00:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 5 楼』:  

这不就是要用b.txt文件内容替换所有txt文件的内容吗?



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-3-23 00:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fuhaiquan
新手上路





积分 18
发帖 7
注册 2007-3-21
状态 离线
『第 6 楼』:  

应该是这样的,但是不能改变文本文件a.txt的文件名a,只能替换内容。

[ Last edited by fuhaiquan on 2007-3-22 at 11:28 AM ]

2007-3-23 00:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 7 楼』:  


@echo off
for /f "delims=" %%i in ('dir/b *.txt') do if not "%%i"=="b.txt" more b.txt>"%%i"




三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-3-23 00:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 8 楼』:  

把B 命名为 A ,直接覆盖,在把名字改成B

2007-3-23 01:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fuhaiquan
新手上路





积分 18
发帖 7
注册 2007-3-21
状态 离线
『第 9 楼』:  

谢谢,已经解决OK。

2007-3-23 02:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: