【问题标题】:Prevent VBScript Folder Loop From Looping Through Newly Created Folders防止 VBScript 文件夹循环循环通过新创建的文件夹
【发布时间】:2021-01-23 19:19:23
【问题描述】:

我有一个简单的循环遍历目录中的所有文件夹,如果某个条件为真,它会创建一个具有新文件夹名称的文件夹副本。

我的问题是,在创建新文件夹后,它会在循环的后面进行处理,我不希望这样。

循环正在检查文件夹名称,如果它是 7、6 或 5 个字符长,请执行特定操作。一个 7 位长度的文件夹被重命名为一个 6 位数的文件夹,但稍后在循环中新的 6 位数文件夹被包含并进一步处理。我不想要这个。

谢谢

【问题讨论】:

    标签: for-loop foreach vbscript directory


    【解决方案1】:

    我最终使用 Dictionary 对象来保存原始文件夹列表,然后在继续之前检查循环文件夹是否存在于该列表中。

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set startingSubFoldColl = CreateObject("Scripting.Dicitonary")
    
    Set Folder = FSO.GetFolder(*targetFolderPath*)
    
    For Each Subfolder in Folder.Subfolders
    startingSubFoldColl.add Cstr(Subfolder),Cstr(Subfolder)
    Next
    
    For Each SubFolder in Folder.Subfolders
    If startingSubFoldColl.Exists(Cstr(Subfolder)) Then
    'Do Stuff
    End If
    Next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多