标题: [文本处理] 批处理如何将一个文本中的特定字符串替换成另一个文本里的内容? [打印本页]
作者: loveyou1205 时间: 2014-10-29 22:47 标题: 批处理如何将一个文本中的特定字符串替换成另一个文本里的内容?
本帖最后由 pcl_test 于 2016-8-5 19:55 编辑
批处理如何批量替换文件内容?
有一个A.TXT文本文件(此文本文件的名称、路径已定),里面的内容是:ABCD=123321654 ;
有另一个N.TXT文本文件(此文本文件的为不确定的名称、路径为D般W文件夹中的某个文件夹的文本文件);N.txt文件中的很多字符串,其中有一行为:ABCD=7856536258;
A.TXT文本文件和N.TXT文本文件路径不同;
现在我请大神们帮忙写一个批处理将W文件夹中所有的*.TXT文本文件(包括子文件夹)中ABCD=****的那一行全部换成A.TXT里的内容(ABCD=123321654);
想问一下各位大神,用批处理能实吗?可以的话能不能给小弟写一下!小弟万分感激!
作者: Batcher 时间: 2014-10-30 08:47
- @echo off
- set /p str=<"D:\a.txt"
- for /f "delims=" %%i in ('dir /b /s "D:\W\*.txt"') do (
- sed -i "s/ABCD=.*/%str%/g" "%%i"
- )
复制代码
命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-16975-1-1.html
作者: Batcher 时间: 2014-10-30 21:37
请把你的测试用例和测试结果发出来看看。
直接回帖就行,不要给我发私信了。
作者: loveyou1205 时间: 2014-10-31 21:04
回复 3# Batcher
不好意思!我是说你提供给我的代码不能实现我上面表达出来的效果!
作者: loveyou1205 时间: 2014-10-31 21:40
bat-Batcher,不好意思!我刚刚又试了一下,还是有点问题,A文本中的ABCD=123321654替换到N.txt文件中ABCD=7856536258时,N.txt文件中的7856536258还保留着;我希望是能把N.txt文件中ABCD=7856536258全部换成ABCD=123321654 ,希望能帮我一下!谢谢!
作者: Batcher 时间: 2014-10-31 22:01
回复 5# loveyou1205
把你的a.txt和n.txt打包压缩上传到论坛,我试试。
作者: loveyou1205 时间: 2014-10-31 23:10
附件为A文件和N文件!烦请帮忙看一下!谢谢!
作者: loveyou1205 时间: 2014-11-1 22:07
Batcher大神,能不能抽时间给我看一下呀
作者: loveyou1205 时间: 2014-11-3 00:55
命令行工具 sed.exe 是不是在XP下不起作用呀??
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |