Как проверить, что у соединения есть действительный пункт назначения в VBScript? - PullRequest
0 голосов
/ 05 февраля 2019

Следующие команды DOS создают соединение (называемое Source), указывающее на папку (называемую Destination), которая больше не существует:

mkdir Destination
mklink /J Source Destination
rd Destination

В настоящее время я использую следующий VBScript для проверкичто пункт назначения точки соединения существует:

' FileSystemObject is used for multiple things, so defined globally
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")

Function Valid_Junction(folderName)

    Valid_Junction = True

    On Error Resume Next
    Dim count : count = fso.GetFolder(folderName).Files.Count
    ' An error will be thrown if the destination doesn't exist
    If Err.Number <> 0 Then Valid_Junction = False
    On Error Goto 0

End Function

В приведенном выше примере вызов Valid_Junction("Source") правильно возвращает False, поскольку Destination больше не существует.

Есть ли проще, чище или более эффективный способ сделать это?

...