asp编程错误 Microsoft VBScript 运行时错误 (0x800A0046) 没有权限

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:09:40
小弟在使用ASP的FSO对象时候出现如题的错误!
编程错误 Microsoft VBScript 运行时错误 (0x800A0046) 没有权限
程序如下:<%
set fs=server.createobject("scripting.filesystemobject")
fs.copyfile "c:\asp\1.txt","c:\asp\2.txt"
fs.movefile "c:\asp\1.txt","c:\1.txt"
fs.deletefile "c:\asp\del_asp_read.txt",false
%>

首先说明我的系统盘XP的NTFS格式,已经开启了FSO功能(注册了),asp这个文件夹已经增加了everyone用户的所有权限,后来我把C盘asp文件夹移动到D盘并在ASP程序中把盘符改成"D:\..."还是出现同样的错误!请教是什么回事!
但是单独运行
fs.copyfile "d:\asp\1.txt","d:\asp\2.txt"
fs.DeleteFolder "d:\asp\move1"
这个又不会出现那样的错误!!!

是ntfs注册了也是没有用的。你试下,是不是createtextfile也用不了。ntfs格式太多限制了。你试下,单击你网站所在的文件夹,点属性看看有没有“安全”这个选项,如果没有的话。就在当前目录点工具,文件夹选项,查看,把使用简单文件共享的勾去掉,再看下刚才的文件夹的属性,此时应该就有了安全这个选项了,你点安全,再点添加,添加一个名叫Everyone的用户,选中Everyone用户在下面的完全控制上打勾。你试下这样行不行吧。我的机以前试过这样是可以用的。

我估计是这样的情况:

当我们对一个文件进行操作的时候,这个文件是会被系统锁定的,例如我们已经打开一个文件,那么这个文件不能被重命名、编辑、删除或移动等。

你fs.copyfile和fs.movefile的对象是相同的,那么执行fs.copyfile复制文件的时候需要一定的时间,在实际复制操作还没有完成的时候,你的fs.movefile执行了,那就会提示没有权限。

也可以理解为两段代码执行的时间间隔很短,但是代码产生的实际操作(复制、移动)的时间要长于这个时间间隔。