【问题标题】:vbs: Show all Folder subfolders with an iterative script?vbs:使用迭代脚本显示所有文件夹子文件夹?
【发布时间】:2012-04-18 17:43:05
【问题描述】:

是否可以使用迭代脚本获取目录的所有子文件夹(以及子文件夹中的子文件夹...)?

我已经创建了它递归,但我不可能迭代:/

任何人都有想法:O

谢谢...

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    您必须实现递归子/函数免费提供的堆栈:

    Dim sSDir : sSDir = "..."
    walkDirIter goFS.GetFolder(sSDir)
    
    Sub walkDirIter(oDir)
      Dim dicStack : Set dicStack = CreateObject("Scripting.Dictionary")
      Dim nCur     : nCur         = dicStack.Count
      Set dicStack(nCur) = oDir
      Do Until nCur >= dicStack.Count
         Dim oElm
         For Each oElm In dicStack(nCur).Files
             WScript.Echo oElm.Path
         Next
         For Each oElm In dicStack(nCur).SubFolders
             Set dicStack(dicStack.Count) = oElm
         Next
         nCur = nCur + 1
      Loop
    End Sub ' walkDirIter
    

    您可以查看this recursive approach 了解上下文/比较。

    【讨论】:

    • 谢谢 :) 用堆栈实现它的好主意:D
    猜你喜欢
    • 2015-01-20
    • 2021-12-22
    • 2015-06-07
    • 2021-03-15
    • 2017-05-02
    • 2011-08-29
    • 2021-04-29
    • 1970-01-01
    • 2020-03-03
    相关资源
    最近更新 更多