Board logo

标题: 如何对两个文本文件的内容进行对换? [打印本页]

作者: fuhaiquan     时间: 2007-3-22 23:39    标题: 如何对两个文本文件的内容进行对换?

有两个文本文件(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的文件名是给定的
作者: ccwan     时间: 2007-3-22 23:53
说得太难理解了。
若要用b.txt覆盖a.txt,用type b.txt>a.txt或是more b.txt>a.txt或是findstr .* b.txt>a.txt都行。
作者: fjcase     时间: 2007-3-22 23:56
可以做先生成个中间文件,然后进行对换。比如,有三个文件,a.txt b.txt c.txt
其中c.txt为空内容,那么现在可以将a.txt内容复制到c.txt,再将b.txt内容复制到a.txt,最后将c.txt复制到b.txt.完成要求
作者: fuhaiquan     时间: 2007-3-23 00:10
但是文本文件a.txt文件名不是确定的,是随机产生的,而这命令type b.txt > a.txt中要求文件名a是给定的.
再解释一下我做这个操作的原因,机台每天都会产生.txt的文件文件,而且文件名又是随机给的,我想把生成的这些文本文件的内容都用“This file shows status if processing is normally completed ”代替,可不知该如何实现。
作者: ccwan     时间: 2007-3-23 00:16
这不就是要用b.txt文件内容替换所有txt文件的内容吗?
作者: fuhaiquan     时间: 2007-3-23 00:24
应该是这样的,但是不能改变文本文件a.txt的文件名a,只能替换内容。

[ Last edited by fuhaiquan on 2007-3-22 at 11:28 AM ]
作者: ccwan     时间: 2007-3-23 00:32

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

作者: zhoushijay     时间: 2007-3-23 01:13
把B 命名为 A ,直接覆盖,在把名字改成B
作者: fuhaiquan     时间: 2007-3-23 02:56
谢谢,已经解决OK。