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