关于asp+fso创建文件夹,复制文件的问题

需求,根据传递过来的参数(其实是用户名)生成文件夹,然后从maban目录下复制几个文件到新创建的文件夹中,如果存在同名文件或文件夹就覆盖掉。以下代码,请高手看看哪里出错了... 需求,根据传递过来的参数(其实是用户名)生成文件夹,然后从maban目录下复制几个文件到新创建的文件夹中,如果存在同名文件或文件夹就覆盖掉。
以下代码,请高手看看哪里出错了?

userdir=username ''建立一个与用户同名的文件夹

file1="../moban/index.asp" ''要复制的源文件
tofile1="../"&userdir&"/index.asp" ''复制后存放的文件

file2="../moban/list.asp"
tofile2="../"&userdir&"/list.asp"

file3="../moban/conn.asp"
tofile3="../"&userdir&"/conn.asp"

TempSource1= Server.MapPath(file1)
TempEnd1=Server.MapPath(tofile1)

TempSource2= Server.MapPath(file2)
TempEnd2=Server.MapPath(tofile2)

TempSource3= Server.MapPath(file3)
TempEnd3=Server.MapPath(tofile3)

Set fso1 = CreateObject("Scripting.FileSystemObject")

If fso1.FolderExists(userdir) then
fso1.CopyFile TempSource1,TempEnd1
fso1.CopyFile TempSource2,TempEnd2
fso1.CopyFile TempSource3,TempEnd3
else
fso1= fso1.CreateFolder(userdir) ''出错行,提示没Microsoft VBScript runtime 错误 '800a0046' Permission denied
fso1.CopyFile TempSource1,TempEnd1 ''这行有时也出错。
fso1.CopyFile TempSource2,TempEnd2
fso1.CopyFile TempSource3,TempEnd3

Set fso1 = nothing
end if
展开
 我来答
定瓷吧
2011-04-23 · TA获得超过143个赞
知道小有建树答主
回答量:412
采纳率:50%
帮助的人:126万
展开全部
你提供的代码好复杂,所以没有细看,大概是因为路径的关系而出错。以下这个测试无误,需要注意要创建的文件夹及moban文件夹在当前文件的上一目录!
<%
userdir=username
dir=server.MapPath("../"&userdir) '根据你后面的文件地址,确定应该是上一级
set fso = server.CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(dir) then '如果文件夹不存在则创建
fso.CreateFolder(dir)
end if

file1=server.MapPath("../moban/index.asp")&","&server.MapPath("../moban/list.asp")&","&server.MapPath("../moban/conn.asp")
tofile1=server.MapPath("../"&userdir&"/index.asp")&","&server.MapPath("../"&userdir&"/list.asp")&","&server.MapPath("../"&userdir&"/conn.asp")
'少写点代码 所以放到数组中
filex=split(file1,",")
filey=split(tofile1,",")
for i=0 to ubound(filex) '循环复制文件
call fso.copyfile(filex(i),filey(i))
next
set fso = nothing
%>
遒劲还谦逊灬标兵1
2011-04-23 · TA获得超过1207个赞
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:156万
展开全部
对所在目录没有写权限?
你是NTFS吧?需要右键该文件夹“共享与安全”里添加
"Internet来宾 IUSER_计算机名"账户,并设置写权限。
追问
哥哥,是传到网站上用的。
本地测试fso1.CopyFile TempSource1,TempEnd1 ''这行有时也出错
追答
一、可能权限不够,见前面已回答的。
二、可能源路径不对,没有找到index.asp,../moban/list.asp...等相应文件!
三、可能你的空间不支持fso?

Set fso1 = CreateObject("Scripting.FileSystemObject")
加上前缀Server.,改成:
Set fso1 = Server.CreateObject("Scripting.FileSystemObject")
试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笔怜香V
2011-04-24 · 贡献了超过164个回答
知道答主
回答量:164
采纳率:100%
帮助的人:35.9万
展开全部
错误已经提示你了啊,没有权限,确定你要写入的文件夹有写权限?

参考资料: www.shop007.org

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圭璧琮璜
2011-04-24 · 超过27用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:69.7万
展开全部
很多提供虚拟主机的服务商的服务器里面,都没有开通FSO操作权限的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式