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

[文本处理] [已解决]批处理如何实现指定行数内容替换?

[复制链接]
发表于 2015-5-21 17:05:19 | 显示全部楼层 |阅读模式
本帖最后由 逆流而上的熊猫 于 2015-5-22 01:43 编辑

e盘a.txt中指定的某一行,比如名称=1,2,3  b文本在d盘,b.txt中也有 名称=4,5,6  怎么把a的名称后面的内容123 替换到b文本 的456去呢 求大神!!要原来文本所在的路劲不变,不生成新的txt文本,在b文本里面直接改。并且在系统启动的时候启动项里面 可以自动运行的 谢谢
 楼主| 发表于 2015-5-21 20:37:42 | 显示全部楼层
大神都去哪里啦。。。。
发表于 2015-5-21 21:09:54 | 显示全部楼层
VBS
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Function Checkstr(file)
  3. Set f = fso.OpenTextFile(file, 1)
  4. word="名称"
  5. Set re = New RegExp
  6. re.Pattern = word&"=.+"
  7. re.IgnoreCase = True
  8. re.Global = True
  9. Set matches = re.Execute(f.ReadAll)
  10. Checkstr=""
  11. For Each match in matches
  12. Checkstr=Checkstr&match
  13. Next
  14. set re = nothing
  15. f.Close
  16. End Function
  17. str1 = Checkstr("E:\a.txt")
  18. str2 = Checkstr("D:\b.txt")
  19. Set f1 = fso.OpenTextFile("D:\b.txt", 1)
  20. str = Replace(f1.ReadAll,str2,str1)
  21. f1.Close
  22. Set f2 = fso.OpenTextFile("D:\b.txt", 2)
  23. f2.WriteLine str
  24. f2.Close
复制代码
发表于 2015-5-21 21:48:30 | 显示全部楼层
如果问题已解决,请在标题最前面标上[已解决]
http://www.bathome.net/thread-3473-1-1.html
 楼主| 发表于 2015-5-22 01:42:52 | 显示全部楼层
回复 4# pcl_test


    谢谢大牛!很好用!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 02:34 , Processed in 0.016831 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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