vbs:使用迭代脚本显示所有Folder子文件夹?

时间:2012-04-18 17:43:06

标签: vbscript

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

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

任何人都有这个想法:O

感谢...

1 个答案:

答案 0 :(得分:1)

你必须实现一个递归Sub / Function为你提供免费的堆栈:

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进行上下文/比较。