Путь ошибки сценария VB Путь не найден (800A004C) - PullRequest
2 голосов
/ 20 апреля 2011

Мне нужно создать vbscript, который создаст новую папку «test» и подпапку «Output». Структура папки уже есть C: \ Documents and Settings \ All Users \ Application Data \ Fmwire, мне нужно создать test \ Output под этими структурами

Я создал VBScript, как это, но я получаю ошибку, как это

Ошибка: путь не найден Код: 800A004C Источник: ошибка выполнения Microsoft VBScript

Const OSCPATH = "\Fmwire\test\Output"
Const ALL_USERS_APPLICATION_DATA = &H23&

Dim fso                 ' File System Object
Dim objApplication      ' Application object
Dim objFolder           ' Folder object
Dim objFolderItem       ' FolderItem object
Dim fname               ' Path to Settings folder 






                Set objApplication  = CreateObject("Shell.Application")
                Set objFolder = objApplication.Namespace(ALL_USERS_APPLICATION_DATA)
                Set objFolderItem = objFolder.Self
                fname = objFolderItem.Path & OSCPATH

                Set fso = CreateObject("Scripting.FileSystemObject")
                If fso.FolderExists(fname) Then
                Set objFolder = fso.GetFolder(fname)
                Else
                Set objFolder = fso.CreateFolder(fname)
                   If Err Then
                     Err.Clear
                      strErr = SPOFOLDERFAIL
                      rCode = 4
                   End If
                End If

Какие изменения я должен сделать, чтобы исправить это

1 Ответ

6 голосов
/ 20 апреля 2011
Const OSCPATH = "\Fmwire\test\Output"
Const ALL_USERS_APPLICATION_DATA = &H23&

Set objApplication  = CreateObject("Shell.Application")
Set objFolder = objApplication.Namespace(ALL_USERS_APPLICATION_DATA)
Set objFolderItem = objFolder.Self
fname = objFolderItem.Path

Set fso = CreateObject("Scripting.FileSystemObject")
folders = Split(OSCPATH, "\")
For i = 0 To UBound(folders)
    fname = fso.BuildPath(fname, folders(i))
    If fso.FolderExists(fname) Then
        Set objFolder = fso.GetFolder(fname)
    Else
        Set objFolder = fso.CreateFolder(fname)
       If Err Then
         Err.Clear
          strErr = SPOFOLDERFAIL
          rCode = 4
       End If
    End If
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...