[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求教批处理实现txt文本内容替换

本帖最后由 爱琴海不会走 于 2019-1-5 13:42 编辑

工作中有这样的任务:
在work.txt中有一行内容,很长很长,在work.txt同目录下有个 替换.txt,替换.txt格式如下:

在替换.txt中内容是成对出现的,比如第1行与第2行对应,第3行与第4行对应,我想实现:
假如  替换.txt 中第1行内容在work.txt中存在,,且work.txt中仅有一处内容与替换.txt第1行内容相同,替换 work.txt中相关内容为 替换.txt 中第2行内容,
假如 替换.txt 中第3行内容在work.txt中存在,,且work.txt中仅有一处内容与替换.txt第3行内容相同,替换 work.txt中相关内容为 替换.txt 中第4行内容,
假如 替换.txt 中第5行内容在work.txt中存在,,且work.txt中仅有一处内容与替换.txt第5行内容相同,替换 work.txt中相关内容为 替换.txt 中第6行内容,
假如 替换.txt 中第7行内容在work.txt中不存在,把第7行记录下来,标记为无(当然也不执行替换第8行操作了)
假如 替换.txt 中第9行内容在work.txt中存在,且存在次数超过1次,也把第9行记录下来,标记为多处错误(当然也不执行替换第10行操作了)
。。。。
假如 替换.txt 中第2n+1行内容在work.txt中存在,且只存在一处,替换 work.txt中相关内容为 替换.txt 中第2n+2行内容。
替换.txt 行数很多,但都是成对出现的。
通俗来说就是 假如 替换.txt第1行是123,第2行是456,如果work.txt中存在123且只有一处,就替换为456.
不知有没有大神碰到类似的问题,能为我提供经验,感谢观看。
附件:https://pan.baidu.com/s/1398x1BY1o3N5wq2Q_p2kMA

[attach]11677[/attach]

TOP

回复 2# Batcher


    https://pan.baidu.com/s/1398x1BY1o3N5wq2Q_p2kMA

TOP

回复 3# xczxczxcz


    谢谢老哥,我试了,这个是可以的,但是只有多处错误才提示,能不能把没找到的也提示。

TOP

回复 8# WHY


    谢谢大佬

TOP

回复 8# WHY


    大佬,如果把找到多处不处理改为处理,要怎么改?

TOP

本帖最后由 爱琴海不会走 于 2019-1-9 10:06 编辑

回复 11# WHY


    谢谢大佬,我之前有个疑惑。
假如work.txt中有个AAA,按照替换.txt前面的把AAA替换成了BBB,假如 替换.txt 后面又有把BBB替换CCC,那么,work.txt中的AAA是BBB还是CCC。
按道理,应该是BBB是正确的。
你把文件都写入Result.Log,估计就是为了解决这个问题的,work.txt始终是最原始数据,搜索是在work.txt中搜索的,修改是在result.log中,避免了某处多次修改的问题!
给你点赞,代码我要多看看!
谢谢你

TOP

返回列表