找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 36575|回复: 8

[文本处理] 批处理如何将一个文本中的特定字符串替换成另一个文本里的内容?

[复制链接]
发表于 2014-10-29 22:47:34 | 显示全部楼层 |阅读模式
本帖最后由 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);

想问一下各位大神,用批处理能实吗?可以的话能不能给小弟写一下!小弟万分感激!
发表于 2014-10-30 08:47:01 | 显示全部楼层
  1. @echo off
  2. set /p str=<"D:\a.txt"
  3. for /f "delims=" %%i in ('dir /b /s "D:\W\*.txt"') do (
  4.     sed -i "s/ABCD=.*/%str%/g" "%%i"
  5. )
复制代码
命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-16975-1-1.html
发表于 2014-10-30 21:37:13 | 显示全部楼层
好像不能实现,能不能帮忙再看一下呢?

请把你的测试用例和测试结果发出来看看。
直接回帖就行,不要给我发私信了。
 楼主| 发表于 2014-10-31 21:04:07 | 显示全部楼层
回复 3# Batcher


不好意思!我是说你提供给我的代码不能实现我上面表达出来的效果!
 楼主| 发表于 2014-10-31 21:40:58 | 显示全部楼层
bat-Batcher,不好意思!我刚刚又试了一下,还是有点问题,A文本中的ABCD=123321654替换到N.txt文件中ABCD=7856536258时,N.txt文件中的7856536258还保留着;我希望是能把N.txt文件中ABCD=7856536258全部换成ABCD=123321654 ,希望能帮我一下!谢谢!
发表于 2014-10-31 22:01:31 | 显示全部楼层
回复 5# loveyou1205


    把你的a.txt和n.txt打包压缩上传到论坛,我试试。
 楼主| 发表于 2014-10-31 23:10:55 | 显示全部楼层
附件为A文件和N文件!烦请帮忙看一下!谢谢!
 楼主| 发表于 2014-11-1 22:07:30 | 显示全部楼层
Batcher大神,能不能抽时间给我看一下呀
 楼主| 发表于 2014-11-3 00:55:50 | 显示全部楼层
命令行工具 sed.exe 是不是在XP下不起作用呀??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:51 , Processed in 0.030586 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表