Проверьте, существует ли Dir Visual Basic (System.IO.Directory не работает) - PullRequest
0 голосов
/ 15 апреля 2019

При вызове этого метода он просто возвращает ошибку, системная переменная не определена.

В настоящее время я пытаюсь создать сценарий входа в систему объекта групповой политики, который проверяет, существует ли каталог и не создает ли он его.

Я просто очень смущен, так как есть много визуальных базовых вариантов, и я не могу найти то, что мне нужно. Является ли Visual Basic мне нужно VBS или VB.net или VB Scrips я честно потерял

System.IO.Directory просто возвращает мне ошибку, и я пробовал много других, но получаю ту же ошибку.

Option Explicit
Dim l: l = "Z:"
Dim s: s = "\\TEST-SERVER\Shared Folder"
Dim Network: Set Network = CreateObject("WScript.Network")
Dim CheckDrive: Set CheckDrive = Network.EnumNetworkDrives()
Dim DriveExists: DriveExists = False
Dim i
'check to see if drive exists
For i = 0 to CheckDrive.Count - 1
  If CheckDrive.Item(i) = l Then
    DriveExists = True
  End If
Next
'if drive doesnt map it
If DriveExists = False Then
  Network.MapNetworkDrive l, s, False
Else
 'drive already mapped
End If


Dim strDirectory 
strDirectory = "C:\Screensaver"
If(Not System.IO.Directory.Exists(strDirectory)) Then
    System.IO.Directory.CreateDirectory(strDirectory)
End If

1 Ответ

0 голосов
/ 15 апреля 2019

System. * Для VB.net, но остальная часть вашего скрипта выглядит так, как будто она хочет быть VBS. VBS может использовать FileSystemObject для взаимодействия с папками.

Попробуйте это для раздела, где вы пытаетесь создать каталог:

Dim strDirectory
strDirectory = "C:\Screensaver"
Set fso = CreateObject("Scripting.FileSystemObject")
If(Not fso.FolderExists(strDirectory)) Then
    fso.CreateFolder(strDirectory)
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...