|
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
状态 离线
|
|
2007-3-23 02:56 |
|