Windows &引用;“创建新文件夹”;在Microsoft Shell.Application.BrowseForFolder窗口上-不';不要重命名文件系统上的文件夹

Windows &引用;“创建新文件夹”;在Microsoft Shell.Application.BrowseForFolder窗口上-不';不要重命名文件系统上的文件夹,windows,shell,vbscript,wsh,Windows,Shell,Vbscript,Wsh,因此,我有以下代码来包装Shell.Application.BrowseForFolder()方法。改编自: 下面是调用它的代码: Function GetSLOCDir() Dim FSO Dim slocDir Dim cwd Set FSO = GetFSO() slocDir = "" While (slocDir="" OR NOT FSO.FolderExists(slocDir)) cwd = FSO.GetA

因此,我有以下代码来包装Shell.Application.BrowseForFolder()方法。改编自:

下面是调用它的代码:

Function GetSLOCDir()
   Dim FSO
   Dim slocDir
   Dim cwd

   Set FSO    = GetFSO()

   slocDir = ""
   While (slocDir="" OR NOT FSO.FolderExists(slocDir))
      cwd        = FSO.GetAbsolutePathName(".")
      slocDir    = BrowseFolder(cwd, True, "Select the SLOC Directory.")
      WScript.Echo "slocDir: " & slocDir

      If (slocDir="") Then
         WScript.Echo "Aborted."
         WScript.Quit
      End If

   WEnd
   GetSLOCDir = slocDir
End Function
第一次通过循环时,将显示浏览对话框。如果单击“创建新文件夹”,它将创建一个新文件夹,允许我键入文件夹名称。但当我按enter键时,它返回到“newfolder”,但在文件系统上它正确地重命名了它。但是,BrowseFolder()函数返回“newfolder”,这会导致循环迭代。“新建浏览”对话框显示正确的文件夹名称,然后我可以选择该名称

然而,这似乎笨重。这是BrowseForFolder方法中的错误吗


谢谢

我首先为我的英语感到抱歉。 您可以使用cscript.exe或64位版本的wscript.exe运行此脚本。
32位版本有此错误。

从来没有这样的问题。这是否显示在具体的Windows版本下?
Function GetSLOCDir()
   Dim FSO
   Dim slocDir
   Dim cwd

   Set FSO    = GetFSO()

   slocDir = ""
   While (slocDir="" OR NOT FSO.FolderExists(slocDir))
      cwd        = FSO.GetAbsolutePathName(".")
      slocDir    = BrowseFolder(cwd, True, "Select the SLOC Directory.")
      WScript.Echo "slocDir: " & slocDir

      If (slocDir="") Then
         WScript.Echo "Aborted."
         WScript.Quit
      End If

   WEnd
   GetSLOCDir = slocDir
End Function