VBScript Catching Erroring Varialble Value

Posted by Soren on Stack Overflow See other posts from Stack Overflow or by Soren
Published on 2010-04-17T16:18:58Z Indexed on 2010/04/17 16:23 UTC
Read the original article Hit count: 421

I have a VB Script (.vbs file) that is just a simple directory listing of a drive. It will the base of a drive back up script. But when running it as it is below, I am getting a Permission Denied error on some folder. What I need to find is what that folder is so I can figure out what the problem is with the folder.

The line that is giving the error is "For Each TempFolder In MoreFolders". So what I am trying to figure out is how to WScript.Echo the current path (objDirectory) if there is an error.

I am not sure if it matters much, but just in case, the error that I am getting is Permission Denied 800A0046 on line 12. So some folder, I do not know which one, is not letting me look inside.

  Set WSShell = WScript.CreateObject("WScript.Shell")
  Set objFSO = CreateObject ("Scripting.FileSystemObject")

  Dim FolderArr()
  FolderCount = 0

  TopCopyFrom = "G:\"

  Sub WorkWithSubFolders(objDirectory)
    Set MoreFolders = objDirectory.SubFolders
    'The next line is where the error occurs (line 12)
    For Each TempFolder In MoreFolders
        FolderCount = FolderCount + 1
        ReDim Preserve FolderArr(FolderCount)
        FolderArr(FolderCount) = TempFolder.Path
       ' WScript.Echo TempFolder.Path
       WorkWithSubFolders(TempFolder)
    Next
  End Sub

  ReDim Preserve FolderArr(FolderCount)
  FolderArr(FolderCount) = TopCopyFrom

  Set objDirectory = objFSO.GetFolder(TopCopyFrom)
      WorkWithSubFolders(objDirectory)
  Set objDirectory = Nothing

  WScript.Echo "FolderCount = " & FolderCount
  WScript.Sleep 30000

  Set objFSO = Nothing
  Set WSShell = Nothing

© Stack Overflow or respective owner

Related posts about vbscript

Related posts about filesystemobject