vbs错误捕获文件夹列表

时间:2012-03-28 13:25:31

标签: vbscript

我正在创建一个脚本来列出文件夹中的所有文件 目的是列出我们拥有的每台服务器上特定文件夹中的所有文件 所以我有一个excel文件,每个服务器名都作为第一行。

当然我没有每台服务器的权限,也没有脚本文件夹;所以有时我会得到一个“找不到路径”的错误 虽然我使用On Error Resume Next但它仍然会抛出错误。

我需要像try - catch这样的东西,但这在vbs中并不存在。 如何在出现错误时尝试连接文件夹并忽略?

违规行是Set folder = ...

Do While objSheet.Cells(1, intCol).Value <> ""
  intRow = 2
  sFolder ="\\" & objSheet.Cells(1, intCol).Value & "\C$\Scripts"
  'msgbox sFolder

  Set folder = fso.GetFolder(sFolder)
  Set files = folder.Files
...

完整代码:https://gist.github.com/076501c940e8388b5b39

1 个答案:

答案 0 :(得分:1)

您可以使用fso.FolderExists(sFolder)检查文件夹是否存在:

If fso.FolderExists(sFolder) then
    Set folder = fso.GetFolder(sFolder) 
    Set files = folder.Files    

    For each file In files  
        'msgbox file.name
        objSheet.Cells(intRow, intCol).Value = file.Name
        introw = introw + 1 
    Next    
    objExcel.ActiveWorkbook.Save
    intCol = intcol+1
End if