NT/2000下编程删除文件夹为什么出现"拒绝的权限"错误?

issacgao 2002-07-01 05:39:29
,;我用编程方法直接删除一个文件夹(包括其中的所有文件),例如Folder对象的Delete方法,出现"拒绝的权限"错误;
2,此时用资源管理器观察,待删的文件夹中已没有文件,并且该文件夹被占用锁定;
3,如先删除文件夹中的所有文件,延时,再删除文件夹,有时就能成功;
4,问题是是否必须先删除文件,并且延时多长,都没有规律,有时行,有时就不行;
5,如果直接在资源管理器中删除该文件夹,即使其中有文件,也没有问题;
6,此问题在NT4.0上特别突出,2000上稍好一点

哪位高手知道原因?

我用VB
...全文
89 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
issacgao 2002-07-04
  • 打赏
  • 举报
回复
newyon大哥:用DELETEFOLDER错误是同样的,甚至我用KILL命令错误也是同样的;
大江东去大哥:呵呵,就是权限问题,但不是NT本身权限禁止,因为在有些时候是能删成功的,比如延时后.
wj_he 2002-07-03
  • 打赏
  • 举报
回复
会不会是权限问题?
newyon 2002-07-03
  • 打赏
  • 举报
回复
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
fs.deletefolder "C:\pvcrwork", True
newyon 2002-07-03
  • 打赏
  • 举报
回复
用deletefolder不行吗?
issacgao 2002-07-03
  • 打赏
  • 举报
回复
dim fs As New FileSystemObject

Dim objFolder As Folder
Dim objSubFolder As Folder
Dim objfile As File
dim objfolder as folder
.....
Set objFolder = fs.GetFolder(strPath)
For Each objfile In objFolder.Files
strFName = objfile.Path
objfile.Delete True
While (Dir(strFName) <> "")
DoEvents
Wend
Next
objFolder.Delete True

如没有循环的部分,则在NT/2000上执行objFolder.Delete True必错,
有循环没有用DOevents来确认文件已经被删除,执行objFolder.Delete True也必错,
如上面的代码则一般会成功,但有时也会错.

所有的错误都是"拒绝的权限",并且总是发生在执行objFolder.Delete True时并且文件夹中的所有文件已经被删除后(在资源管理器中可以看到文件夹已经空了),也就是说是在删除文件夹时出的错.并且此时在资源管理器中去删除这个空的文件夹,也会出现"拒绝的权限"或"文件夹正在被使用"的提示,删除不成功.
griefforyou 2002-07-02
  • 打赏
  • 举报
回复
代码贴出来看看....

---------------------------------------------------------------

十年生死两茫茫。不思量,自难忘。千里孤坟,无处话凄凉。纵使相逢应不识。尘满面,鬓如霜。

夜来幽梦忽还乡。小轩窗,正梳妆。相顾无言,惟有泪千行。料得年年肠断处。明月夜,短松岗。
issacgao 2002-07-02
  • 打赏
  • 举报
回复
笨笨熊大哥:我删除的文件夹中没有子文件夹,只有文件.
小朱大哥:我用了先删文件等待再删文件夹,但不是每次都成功.刷新的办法我可以试一试,谢谢.
zhujiechang 2002-07-01
  • 打赏
  • 举报
回复
先删除文件,然后等待返回信息,再进行文件夹删除。
有时你没有进行对象的刷新,可能会出现这种情况。
Backspace24 2002-07-01
  • 打赏
  • 举报
回复
很正常在vb中,不能删除带子文件夹的文件包
所以要正常运行,得确保只有一层文件夹`
Backspace24 2002-07-01
  • 打赏
  • 举报
回复
很正常在vb中,不能删除带子文件夹的文件包
所以要正常运行,得确保只有一层文件夹`

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧