Проверьте, существует ли папка, если она не создана на текущем пользователе, зарегистрированном в VBS

В настоящее время это мой script

Set oWS = WScript.CreateObject("WScript.Shell")
' Get the %userprofile% in a variable, or else it won't be recognized
userProfile = oWS.ExpandEnvironmentStrings( "%userprofile%" )

То, что я пытаюсь сделать, это захватить текущего пользователя вошедшего в систему, я хочу, чтобы он проверил каталог D:\ "personaluser" \Appdata\Roaming\Local, чтобы узнать, создана ли папка "Local", если она не является Создано Я хочу создать один через createobject в vbs. script выше, чем я знаю, захватывает текущего зарегистрированного пользователя, однако я не уверен, как использовать эту переменную для создания папки.

Я знаю, что мне нужно будет что-то включить в этих строках:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder("C:\FSO")

И что-то в этом роде:

Dim objNetwork
Dim userName
Dim FSO

Set FSO = CreateObject("Scripting.FileSystemObject")

Set objNetwork = CreateObject("WScript.Network")
userName = objNetwork.userName

If fso.driveExists("D:\" & userName & "\AppData\Local\") Then
    FSO.CreateDirectory ("D:\" & userName & "\AppData\Local\")
End If

Спасибо заранее, но не очень хорошо знакомы с VBS, но это единственная платформа, в которой я могу работать в среде, в которой я ее использую.

Ответ 1

Set oWS = WScript.CreateObject("WScript.Shell")
' Get the %userprofile% in a variable, or else it won't be recognized
userProfile = oWS.ExpandEnvironmentStrings( "%userprofile%" )

Dim objNetwork
Dim userName
Dim FSO
Dim Folder

Set FSO = CreateObject("Scripting.FileSystemObject")

Set objNetwork = CreateObject("WScript.Network")
userName = objNetwork.userName

If NOT (FSO.FolderExists(userProfile + "\AppData\Roaming\Local")) Then
    ' Delete this if you don't want the MsgBox to show
    MsgBox("Local folder doesn't exists, creating...")
    splitString = Split(userProfile, "\")

    ' Create folder
    MsgBox("D:\" + splitString(2) + "\AppData\Roaming\Local")
    'FSO.CreateFolder(splitString(2) + "\AppData\Roaming\Local")
End If

Здесь вы идете человек, это должно работать идеально, считает Даниэля.