| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 855 人关注过本帖
标题:fso遍历目录文件问题。
只看楼主 加入收藏
lele2007
Rank: 5Rank: 5
来 自:广东省深圳
等 级:职业侠客
威 望:6
帖 子:1028
专家分:305
注 册:2007-9-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
fso遍历目录文件问题。
请教个asp的问题。。

fso遍历指定目录的文件时。。
判断英文名字的文件失效了。。
程序代码:
'输出皮肤(主题)下拉选择菜单
function selectSkins()

 dim fso,Folder,i,checked,objFile,fileName,o,objFileName

 set fso = Server.CreateObject("Scripting.FileSystemObject")

 set Folder = fso.GetFolder(server.MapPath("/skins/"))


 For each i in Folder.SubFolders
   if Cstr(request.Cookies("skins"))=Cstr(i.name) then
     checked = " selected=""selected"""
   else
     checked = ""
   end if
   set objFile = fso.GetFolder(server.MapPath("/skins/"&i.name&"/"))
   for each o in objFile.files
     if instr(o.name,".txt")>0 then
       fileName = replace(o.name,".txt","")
     else
       fileName = "未命名主题"
     end if
   next
   selectSkins = selectSkins&"<option value="""&i.name&""""&checked&">"&fileName&"</option>"&vbcrlf

 next


 set Folder = nothing

 set fso = nothing

 set objFile = nothing
end function
for each o in objFile.files
     if instr(o.name,".txt")>0 then
       fileName = replace(o.name,".txt","")
     else
       fileName = "未命名主题"
     end if
   next


这里如果文本文档的名字为:   qq空间  含有英文名字。。就会返回   未命名主题,不返回  qq空间
如果是全中文的字符,可以正常返回。或者不是英文字母开始也可以正常返回。。
这个是什么问题呢?


以英文开头命名时。。读取不到名字。返回了:未命名的主题
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册



不以英文开头命名时,可以正常返回。。
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 文件 目录 fso 遍历 
2010-10-06 22:50
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:20 
关于FSO读取文件名 怎么样去掉扩展名:
http://it.

★★★★★为人民服务★★★★★
2010-10-07 07:52
lele2007
Rank: 5Rank: 5
来 自:广东省深圳
等 级:职业侠客
威 望:6
帖 子:1028
专家分:305
注 册:2007-9-4
收藏
得分:0 
谢谢版主。。最后解决了。。
程序代码:
'输出皮肤(主题)下拉选择菜单
function selectSkins()
dim fso,Folder,i,checked,objFile,fileName,o,objFileName
set fso = Server.CreateObject("Scripting.FileSystemObject")
set Folder = fso.GetFolder(server.MapPath("/skins/"))

For each i in Folder.SubFolders
   if Cstr(request.Cookies("skins"))=Cstr(i.name) then
     checked = " selected=""selected"""
   else
     checked = ""
   end if
   set objFile = fso.GetFolder(server.MapPath("/skins/"&i.name&"/"))
   for each o in objFile.files
     if instr(o.name,".txt")>0 then
       fileName = replace(o.name,".txt","")
       exit for
     else
       fileName = "未命名主题"
     end if
   next
   selectSkins = selectSkins&"<option value="""&i.name&""""&checked&">"&fileName&"</option>"&vbcrlf
next

set Folder = nothing
set fso = nothing
set objFile = nothing
end function

for each o in objFile.files
     if instr(o.name,".txt")>0 then
       fileName = replace(o.name,".txt","")
       exit for
     else
       fileName = "未命名主题"
     end if
   next



[ 本帖最后由 lele2007 于 2010-10-8 02:37 编辑 ]

学习编程www.
2010-10-08 02:35
wangjy500
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:13
帖 子:457
专家分:2569
注 册:2010-7-11
收藏
得分:0 
是什么原因呢。说来听听。学习下。!

QQ:63572063
2010-10-08 22:25
lele2007
Rank: 5Rank: 5
来 自:广东省深圳
等 级:职业侠客
威 望:6
帖 子:1028
专家分:305
注 册:2007-9-4
收藏
得分:0 
以下是引用wangjy500在2010-10-8 22:25:25的发言:

是什么原因呢。说来听听。学习下。!
for each o in objFile.files
     if instr(o.name,".txt")>0 then
       fileName = replace(o.name,".txt","")
       exit for
     else
       fileName = "未命名主题"
     end if
   next

后面这段代码里。。加红色的地方。。
找到文本文档获取到名字后就退出。不再遍历。。就不会继续遍历其它的文件。。
这个只是完成我自己需要的功能的。。

这是QQ群的一些对话。。供参考。错了要指出喔。。
程序代码:
asp-乐乐(1578890**0) 0:20:29

 解决了,找到问题啦。。^_^..``
asp. 天羽(7101670**) 0:20:43
说说
asp-乐乐(1578890**0) 0:20:45
exit for....
asp. 天羽(7101670**) 0:20:59
~
asp-乐乐(1578890**0) 0:21:52
for each时。。会按字母顺序。。读取内容。。

QQ 空间。。不是最后一个字母。。

皮肤样式里面有比QQ更后的字母。。查找不到.txt..所以返回了

未命名主题
asp-乐乐(1578890**0) 0:22:04
if instr(o.name,".txt")>0 then
   fileName = replace(o.name,".txt","")
   exit for

 else
   fileName = "未命名主题"

 end if
asp-乐乐(1578890**0) 0:22:29
我加了一个  exit for

找到了.txt并赋值后就退出for循环。。就可以了。。
asp. 天羽(7101670**) 0:23:16
哦
asp-乐乐(1578890**) 0:23:43
z   是最后一个字母。。
不加  exit for 会显示  zz空间。。加了就可以正常读取QQ空间了。。

不是不能以字母开头命名。
asp. 天羽(7101670**) 0:24:00



学习编程www.
2010-10-10 00:19
快速回复:fso遍历目录文件问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020380 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved