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

[问题求助] 【已解决】VBS文本数据按列合并,如何才能不乱序

本帖最后由 思想之翼 于 2023-3-3 14:38 编辑

有三个文本,数据格式为:
001.txt
11
002.txt
22
22
003.txt
33
33
33
欲按列合并成一个文本,格式如下所示:
11        22        33
           22        33
                      33

下示VBS代码合并文本数据后,打乱了各列的顺序:
11        22        33
22        33
33
如何修正?
  1. On Error Resume Next
  2. fileNum = 3
  3. Max =0 : ReDim ar(fileNum)
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5. For i = 1 to fileNum
  6.         Set f = fso.OpenTextFile("d:\00\" & Right("00" & i, 3) & ""& ".txt")
  7.         ar(i) = Split(RegEx(f.ReadAll), vbCrLf)
  8.         If UBound(ar(i)) > Max Then Max = UBound(ar(i))
  9.         f.Close : Set f = Nothing
  10. Next
  11. For i = 0 to Max
  12.         s = ""
  13.         For j = 1 to fileNum
  14.                 s = s & " " & ar(j)(i)
  15.         Next
  16.         fso.OpenTextFile("d:\00\all.txt", 8, true).WriteLine Mid(s, 2)
  17. Next
  18. 'MsgBox "OK"
  19. Function RegEx(txt)
  20.         Set re = New RegExp
  21.         re.Pattern = "^(\s*\n)+|(\s*\n)+$"
  22.         re.Global = true
  23.         txt = re.Replace(txt, "")
  24.         re.Pattern = "(\s*\n)+"
  25.         RegEx = re.Replace(txt, vbCrLf)
  26. End Function
复制代码

返回列表