当前位置: 代码迷 >> vbScript >> VBScript 剔除文件夹失败 Error: Permission Denied Code: 800A0046
  详细解决方案

VBScript 剔除文件夹失败 Error: Permission Denied Code: 800A0046

热度:1146   发布时间:2013-01-18 10:22:42.0
VBScript 删除文件夹失败 Error: Permission Denied Code: 800A0046

症状:

1. 运行下面的VBScript脚本,删除某个目录下的所有文件夹:

Set fso = CreateObject("Scripting.FileSystemObject")
Set deleteDir = fso.GetFolder("D:\FTP_Folder\vbScriptTest")   'Set the directory you want to delete
Set subFolders = deleteDir.Subfolders  'Get all the folders in the above directory
Set toBeDeletedFoldersPath = CreateObject( "System.Collections.ArrayList" ) 'Store the paths of the folders that need to be deleted

For Each folder in subFolders
    toBeDeletedFoldersPath.Add folder.path
Next

For Each folderPath in toBeDeletedFoldersPath
    fso.deleteFolder folderPath
Next

 对于某些文件目录能够删除成功,但是对于某些目录却得到如下的运行时错误:

解决方法:

1. 像下面这样在第11行代码末尾加一个参数True,表示强制删除只读文件夹:

Set fso = CreateObject("Scripting.FileSystemObject")
Set deleteDir = fso.GetFolder("D:\FTP_Folder\vbScriptTest")   'Set the directory you want to delete
Set subFolders = deleteDir.Subfolders  'Get all the folders in the above directory
Set toBeDeletedFoldersPath = CreateObject( "System.Collections.ArrayList" ) 'Store the paths of the folders that need to be deleted

For Each folder in subFolders
    toBeDeletedFoldersPath.Add folder.path
Next

For Each folderPath in toBeDeletedFoldersPath
    fso.deleteFolder folderPath, True   'force the deletion of read-only files
Next

  相关解决方案