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

[文本处理] 【已解决】修改错误的批处理代码

[复制链接]
发表于 2015-7-2 19:14:39 | 显示全部楼层 |阅读模式
本帖最后由 hkldd 于 2015-7-2 22:33 编辑

在文件夹中的多个批处理命令中,岀现了书写错误,不知能否用bat或vbs解决,谢谢!

替换前的文件.bat
  1. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\1.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总001"
  2. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\2.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总001"
  3. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\3.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总001"
  4. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\4.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总001"
  5. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\1.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总002"
  6. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\2.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总002"
  7. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\3.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总002"
  8. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\4.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总002"
  9. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\5.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总002"
  10. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\1.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总003"
  11. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\2.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总003"
  12. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\3.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总003"
  13. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\4.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总003"
  14. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\1.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总004"
  15. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\2.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总004"
  16. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\3.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总004"
  17. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\4.txt" "d:\随机数据(矩阵)\随机批次001数据\注汇总004"
复制代码
替换后的文件.bat
  1. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\1.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值001"
  2. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\2.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值001"
  3. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\3.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值001"
  4. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总001\4.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值001"
  5. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\1.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值002"
  6. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\2.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值002"
  7. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\3.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值002"
  8. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\4.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值002"
  9. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总002\5.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值002"
  10. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\1.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值003"
  11. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\2.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值003"
  12. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\3.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值003"
  13. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总003\4.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值003"
  14. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\1.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值004"
  15. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\2.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值004"
  16. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\3.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值004"
  17. xcopy "d:\随机数据(矩阵)\随机批次001数据\注汇总004\4.txt" "d:\随机数据(矩阵)\随机批次001数据\随机值004"
复制代码
修改说明;就是把毎行未尾的  注汇总   替换成   随机值

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-7-2 19:59:26 | 显示全部楼层
用Notepad++打开所有待修改的bat文件
Ctrl +H
替换所有打开文件
发表于 2015-7-2 20:15:10 | 显示全部楼层
本帖最后由 xp3000 于 2015-7-2 20:29 编辑

Notepad++使用方法,搜索--替换,勾选正则表达式:
\\注汇总([0-9]+)\\\"
替换值
\\随机值$1\\"

注汇总([0-9]+)\\\"$
替换值
随机值$1\\"

另外一种方法就是按住Alt,鼠标指定到需要删除的地方往下拉,把需要替换的字符全部框进去,然后右键删除,在编辑--列块编辑,插入你需要的值
 楼主| 发表于 2015-7-2 20:57:39 | 显示全部楼层
各位老师你们好!
   我现在的需求是这样的; 这是一个系统导出的数据文件夹,其中的批处理命令中有上述示例文件中的错误,是厂家在打补之前出现的,我们当时是用Ue进行查找替换的,后来在网上没搜到类似贴子,所以想知道,能否用bat或vbs解决这样的问题。
发表于 2015-7-2 21:25:35 | 显示全部楼层
  1. Dim str, fso, file, f, bat
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. For Each file in fso.GetFolder(".").Files
  4.     If LCase(Right(file, 4)) = ".bat" Then
  5.         Set f = fso.OpenTextFile(file, 1)
  6.         bat = f.ReadAll
  7.         f.Close : Set f = Nothing
  8.         fso.OpenTextFile(file, 2).Write RegEx(bat)
  9.     End If
  10. Next
  11. Set fso = Nothing

  12. MsgBox "OK"

  13. Function RegEx(bat)
  14.     Set re = New RegExp
  15.     re.Pattern = "\\注汇总([0-9]+)\"""
  16.     re.Global = True
  17.     re.IgnoreCase = True
  18.     RegEx = re.Replace(bat, "\随机值$1""")
  19. End Function
复制代码
正则表达式那里匹配\用\\,匹配"用"",替换值那里\只用一个\表示

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-7-2 22:31:26 | 显示全部楼层
xp3000;你好牛!谢谢你!
    要是早点来论坛求助,并且遇到你的话,要少受多少苦哟………
发表于 2015-7-3 07:43:47 | 显示全部楼层
见笑了,我也是在论坛头的一点师,处理字符串正则表达式非常好用,好像没见支持中文的命令行版,各种正则表达式的字符串替换软件倒是一大堆
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:43 , Processed in 0.020495 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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