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

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

本帖最后由 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\"
复制代码
修改说明;就是把毎行未尾的  注汇总   替换成   随机值
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

见笑了,我也是在论坛头的一点师,处理字符串正则表达式非常好用,好像没见支持中文的命令行版,各种正则表达式的字符串替换软件倒是一大堆

TOP

xp3000;你好牛!谢谢你!
    要是早点来论坛求助,并且遇到你的话,要少受多少苦哟………

TOP

  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

评分人数

TOP

各位老师你们好!
   我现在的需求是这样的; 这是一个系统导出的数据文件夹,其中的批处理命令中有上述示例文件中的错误,是厂家在打补之前出现的,我们当时是用Ue进行查找替换的,后来在网上没搜到类似贴子,所以想知道,能否用bat或vbs解决这样的问题。

TOP

本帖最后由 xp3000 于 2015-7-2 20:29 编辑

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

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

另外一种方法就是按住Alt,鼠标指定到需要删除的地方往下拉,把需要替换的字符全部框进去,然后右键删除,在编辑--列块编辑,插入你需要的值

TOP

用Notepad++打开所有待修改的bat文件
Ctrl +H
替换所有打开文件

TOP

返回列表