Перехват ошибок VBS в списке папок - PullRequest
0 голосов
/ 28 марта 2012

Я делаю скрипт для вывода списка всех файлов в папке.
Намерение состоит в том, чтобы перечислить все файлы в определенной папке на каждом имеющемся у нас сервере.
Итак, у меня есть файл 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 Ответ

1 голос
/ 28 марта 2012

Вы можете проверить, существует ли папка с помощью 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...