各位帮忙,郁闷了半天(fso)

qfacy 2005-01-05 01:07:18
Set fso=CreateObject("Scripting.FileSystemObject")
set getfso=fso.GetFolder("d:\1").SubFolders
for each rr in getfso
response.write rr & " 文件夹包含<p>"
set getfso1=fso.GetFolder(rr).files
for each n in getfso1
response.write n & "<br>"
next
next
上面代码可以用正常运行!但是把set getfso=fso.GetFolder("d:\1").SubFolders
改为以驱动器为目录的时候set getfso=fso.GetFolder(fso.getdrive("d:").rootfolder).SubFolders
就出现了如下的错误:
Microsoft VBScript 运行时错误 (0x800A0046)
/E/fso/Untitled-4.asp, 第 20 行
可能是rr变量的问题!
我把d盘符
右键-属性-安全选项卡-添加-择IUSR_自己-点IUSR_自己,把权限全部打上钩了还是出现问题!
为什么!?郁闷了半天!请各位高手帮忙!小弟在此感谢了!

...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qfacy 2005-01-05
  • 打赏
  • 举报
回复
谢谢李强!问题解决!
lienzhu 2005-01-05
  • 打赏
  • 举报
回复
System Volume Information是隐藏受保护的,你在文件下选项中,选择显示隐藏受保护的文件;

然后添加everyone用户,并把system和everyone设置成支持读写,就可以了!,读他没用,最好
用on error resume next 跳过保护文件夹
qfacy 2005-01-05
  • 打赏
  • 举报
回复
to 回复人: lienzhu(李强) ( ) 信誉:95
谢谢你的回答!
第二种方法通过!
第一种方法还是一样的错误,但是我的代码没有运行看不到不叫读写的文件夹名字!
我在d:下查找了System Volume Information他们都是可以读写的!在问下你说的不叫读写的文件夹是系统文件夹吧?我应该可以更改它的可读写的!
而下面代码中instr(rr,"System Volume Information")<=0
所得到的是在d:里搜索看有没有System Volume Information文件夹
qfacy 2005-01-05
  • 打赏
  • 举报
回复
不好用!已经试验过了!
20行为for each n in getfso1
我用
Set fso=CreateObject("Scripting.FileSystemObject")
set getfso=fso.GetFolder(fso.getdrive("d:").rootfolder).SubFolders
for each rr in getfso
response.write rr & " 文件夹包含<p>"
next
把rr打印出来,在用打印的出来的一个rr路径如(d:\12)
带换rr就好用!各位帮忙忙!
lienzhu 2005-01-05
  • 打赏
  • 举报
回复
里面有一个系统保护文件夹不叫读写,在出错的地方可以看到那个文件加名字

跳过他
<%
Set fso=CreateObject("Scripting.FileSystemObject")
set getfso=fso.GetFolder(fso.getdrive("d:").rootfolder).SubFolders
for each rr in getfso
response.write rr & " 文件夹包含<p>"
if instr(rr,"System Volume Information")<=0 then
set getfso1=fso.GetFolder(rr).files
for each n in getfso1
response.write n & "<br>"
next
end if
next
%>
或者
<%
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject")
set getfso=fso.GetFolder(fso.getdrive("d:").rootfolder).SubFolders
for each rr in getfso
response.write rr & " 文件夹包含<p>"
set getfso1=fso.GetFolder(rr).files
for each n in getfso1
response.write n & "<br>"
next
next
%>
红色银狐 2005-01-05
  • 打赏
  • 举报
回复
set getfso=fso.GetFolder(fso.getdrive("d:\").rootfolder).SubFolders
这样试试

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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