【问题标题】:VB script error path Path not found(800A004C)VB 脚本错误路径 Path not found(800A004C)
【发布时间】:2011-08-09 10:48:33
【问题描述】:

我需要创建 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

我必须做些什么来纠正这个问题

【问题讨论】:

  • 这可能是 ACL 问题。任何人都可以创建在所有用户应用程序数据配置文件下创建的工件,但除非该用户(或管理员)明确删除访问限制以便任何人都可以修改项目,否则任何其他用户都不能写入这些工件。检查该目标文件夹的现有权限。

标签: vbscript


【解决方案1】:
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

【讨论】:

  • 感谢它的工作,有什么问题,我是 vbscript 的新手
  • 您需要显式创建每个尚不存在的文件夹级别(即 test,然后是 test\Output)。
猜你喜欢
  • 2012-03-20
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 2021-02-17
  • 1970-01-01
  • 2015-11-22
  • 1970-01-01
  • 2021-04-19
相关资源
最近更新 更多