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


    1秒完成,太高兴了。用哪一个代码?还有,运算时可以舍去252个组合里的12345--56789这一组,只运算01234到06789这126个组合就可以了,运算量又可以舍去一半。恳望得到老师的帮助!

TOP

回复 16# 思想之翼
  1. T = Timer
  2. Set FSO = CreateObject("Scripting.FileSystemObject")
  3. If Not FSO.FolderExists("New") Then FSO.CreateFolder("New")
  4. For Each File in FSO.GetFolder(".").Files
  5.    Ext = FSO.GetExtensionName(File)
  6.    Name = FSO.GetBaseName(File)
  7.    If LCase(Ext) = "txt" Then
  8.       fDir = "New\" & Name
  9.       If Not FSO.FolderExists(fDir) Then FSO.CreateFolder(fDir)
  10.       Open_File FSO.OpenTextFile(File)
  11.    End If
  12. Next
  13. MsgBox Timer - T
  14. Sub Open_File(f)
  15.    Do Until f.AtEndOfStream
  16.       Text = f.ReadLine
  17.       If RegEx(Text) <> "" Then GetStr Split(RegEx(Text)," ")
  18.    Loop
  19. End Sub
  20. Sub GetStr(ar)
  21.    Dim A(9)
  22.    For i = 0 to 9 :A(i) = 0 :Next
  23.    For i = 1 to UBound(ar) - 1
  24.       For j = i + 1 to UBound(ar)
  25.          s1 = Right(CInt(ar(i)) + CInt(ar(j)),1) :A(s1) = A(s1) + 1
  26.          s2 = Right(CInt(ar(i)) - CInt(ar(j)),1) :A(s2) = A(s2) + 1
  27.          s3 = Right(CInt(ar(i)) * CInt(ar(j)),1) :A(s3) = A(s3) + 1
  28.       Next
  29.    Next
  30.    For i = 1 to 6
  31.       For j = i + 1 to 7
  32.          For k = j + 1 to 8
  33.             For L = k + 1 to 9
  34.                ReDim PreServe B(n)
  35.                B(n) = A(i) + A(j) + A(k) + A(L) + A(0)
  36.                n = n + 1
  37.             Next
  38.          Next
  39.       Next
  40.    Next
  41.    n = 1
  42.    For i = 1 to UBound(B) + 1
  43.       Str = Str & " " & B(i-1)
  44.       If i Mod 42 = 0 Then
  45.          FSO.OpenTextFile(fDir&"\"&Name&"_"&n&".txt",8,True).WriteLine ar(0)&Str
  46.          Str = "" : n = n + 1
  47.       End If
  48.    Next
  49. End Sub
  50. Function RegEx(Text)
  51.    Set Re = New RegExp
  52.    Re.Pattern = "\s+"
  53.    Re.Global = True
  54.    RegEx = Trim(Re.Replace(Text," "))
  55. End Function
复制代码

TOP

本帖最后由 思想之翼 于 2013-4-8 03:44 编辑

回复 17# apang


    谢谢老师!该批处理代码运行速度很快!
该代码处理数据时,会新建一个New文件夹,其内又新建63个子文件夹,确实有利于数据分类管理。

TOP

返回列表