现有1千多个文件,文件名为ok_1.htm,ok_2.htm....,怎么样获得数字最大的那个文件的名称?在线等!谢谢

man2004 2005-06-05 12:05:17
现有1千多个文件,文件名为ok_1.htm,ok_2.htm....,怎么样获得数字最大的那个文件的名称?在线等!谢谢
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sugarsupper 2005-06-05
  • 打赏
  • 举报
回复
如果不怕麻烦的话,可以循环读到一个数组里,分离出数字,在用Array.Sort()方法,最后提取最大的那个元素
renjunjun 2005-06-05
  • 打赏
  • 举报
回复
一样的速度,全名称排的话不可能的,比如:ok_1.htm和ok_100.htm,100的也会排在前面的,而ok_2.htm会比前面两个值都大,这种够优化了,给分吧快!
man2004 2005-06-05
  • 打赏
  • 举报
回复
其实文件名除了那数字不同以外,别的都是相同的,那可不可以直接用文件名比较,不要过滤掉其他的,因为现在文件增加太快了,一天差不多5000条,这样的话上面的能不能优化一下,谢谢
renjunjun 2005-06-05
  • 打赏
  • 举报
回复
再具体的话就得在最后面再写一句:<%="其实我想得到的文件名为:" & Ltext & MaxNum+1 & Rtext%>
renjunjun 2005-06-05
  • 打赏
  • 举报
回复
20分给你写这么多,如果不把分全给我,我跟你急啊!

<%
'设文件名都很规律,如 ok_1.htm,ok_2.htm
Ltext="ok_"
Rtext=".htm"

Set fso = CreateObject("Scripting.FileSystemObject")
folderspec=server.MapPath("UserImage\")
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
I=0
MaxNum=0
For Each f1 in fc
I=I+1
'取文件名的小写串,去掉没用的前后缀
TheNum=LCase(f1.name)
TheNum=replace(TheNum,Ltext,"")
TheNum=replace(TheNum,Rtext,"")
'看看得取的中间是不是个数字
if IsNumeric("0" & TheNum)=True then TheNum=clng("0" & TheNum) else TheNum=0 end if
'比较最后的大小
if MaxNum<TheNum then MaxNum=TheNum end if
next
Response.Write "共比较 " & I & " 个文件<br>结果最大文件为:" & Ltext & MaxNum & Rtext
%>
man2004 2005-06-05
  • 打赏
  • 举报
回复
具体该怎么实现呢?我不知道它的原理是什么,没见过这方面的应用。
能说具体点吗?谢谢

28,406

社区成员

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

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