[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1.   Option Explicit
  2.   ' On Error Resume Next
  3.   If WScript.Arguments.Count = 0 Then WScript.Quit 1
  4.   Const conRead    = 1
  5.   Const conWrite   = 2
  6.   Const conAppend  = 8
  7.   Dim fso,sr,str,Match
  8.   Set fso = CreateObject("Scripting.FileSystemObject")
  9.   Set sr = fso.OpenTextFile(WScript.Arguments(0),conRead,False,vbUseDefault)
  10.   Do Until sr.AtEndOfStream
  11.     str = sr.ReadAll
  12.   Loop
  13.   sr.Close
  14.   ' WScript.Echo str
  15.   With New RegExp
  16.     .Global = True
  17.     .Ignorecase = True
  18.     .Multiline = False
  19.     .Pattern = "(\[)[^\r\n]*[\r\n]+([^\r\n]*)[\r\n]+([^\r\n]*)[\r\n]+([^\r\n]*)[\r\n]+.*(\])"
  20.     WScript.Echo .Replace(str,"$1 $3 $2 $4 $5")
  21.   End With
  22. Set sr = Nothing
  23. Set fso = Nothing
复制代码
用法:this.vbs a.txt
微信:flashercs
QQ:49908356

TOP

回复 4# loveforjg
  1. Option Explicit
  2. ' On Error Resume Next
  3. Const conRead    = 1
  4. Const conWrite   = 2
  5. Const conAppend  = 8
  6. Dim fso,sr,sw,str,src,dst
  7. src = "a.txt"
  8. dst = "b.txt"
  9. Set fso = CreateObject("Scripting.FileSystemObject")
  10. Set sr = fso.OpenTextFile(src,conRead,False,vbUseDefault)
  11. Do Until sr.AtEndOfStream
  12.   str = sr.ReadAll
  13. Loop
  14. sr.Close
  15. Set sw = fso.OpenTextFile(dst,conWrite,True,vbUseDefault)
  16. With New RegExp
  17.   .Global = True
  18.   .Ignorecase = True
  19.   .Multiline = False
  20.   .Pattern = "(\[)[^\r\n]*[\r\n]+([^\r\n]*)[\r\n]+([^\r\n]*)[\r\n]+([^\r\n]*)[\r\n]+.*(\])"
  21.   sw.Write .Replace(str,"$1 $3 $2 $4 $5")
  22. End With
  23. sw.Close
  24. Set sr = Nothing
  25. Set sw = Nothing
  26. Set fso = Nothing
复制代码
1

评分人数

    • loveforjg: 谢谢老大!已经解决!技术 + 1
微信:flashercs
QQ:49908356

TOP

回复 7# loveforjg
  1. Option Explicit
  2. ' On Error Resume Next
  3. Const conRead    = 1
  4. Const conWrite   = 2
  5. Const conAppend  = 8
  6. Dim fso,sr,sw,str,src,dst,Match,arrLines,strtmp
  7. src = "a.txt"
  8. dst = "b.txt"
  9. Set fso = CreateObject("Scripting.FileSystemObject")
  10. Set sr = fso.OpenTextFile(src,conRead,False,vbUseDefault)
  11. Do Until sr.AtEndOfStream
  12.   str = sr.ReadAll
  13. Loop
  14. sr.Close
  15. Set sw = fso.OpenTextFile(dst,conWrite,True,vbUseDefault)
  16. With New RegExp
  17.   .Global = True
  18.   .Ignorecase = True
  19.   .Multiline = False
  20.   .Pattern = "\[[^\[\]]*\]"
  21.   For Each Match In .Execute(str)
  22.     arrLines = Split(Match,vbNewLine,-1,vbBinaryCompare)
  23.     If UBound(arrLines) > 2 Then ' 含至少2个元素才swap前2个
  24.       strtmp = arrLines(1)
  25.       arrLines(1) = arrLines(2)
  26.       arrLines(2) = strtmp
  27.     End If
  28.     sw.WriteLine Join(arrLines," ")
  29.   Next
  30. End With
  31. sw.Close
  32. Set sr = Nothing
  33. Set sw = Nothing
  34. Set fso = Nothing
复制代码
1

评分人数

    • loveforjg: 谢谢~厉害啊!膜拜!技术 + 1
微信:flashercs
QQ:49908356

TOP

返回列表