【转】遍历文件夹内的所有文件和子文件

<%
response.charset="gb2312"
response.buffer=true
dim fso,fod,fil,o_c,f_c,siz,i
o_c=0:f_c=0:siz=0
set fso=server.createobject("scripting.filesystemobject")
pathStr=request.querystring("path")
if trim(pathStr)="" then
response.write "未指定path参数!"
response.end
end if
temp_path=server.mappath(pathStr) '要遍历的文件夹路径
if not fso.folderexists(temp_path) then
response.write temp_path&" 不存在!"
response.end
end if
response.write temp_path&"( <font color=red>1 </font>) <br />"
call getcount(temp_path,1)
response.write temp_path&",共有文件夹 "&o_c&" 个,文件 "&f_c&" 个,总大小为"&formatnumber(siz/1024/1024,2)&"MB! <br />"

'函数名getcount
'作用:遍历文件夹内的所有文件和子文件
'参数:path--要遍历的文件夹,i--文件/文件夹级数
function getcount(path,i)
t_path=path
set fod=fso.getfolder(t_path)
o_c=o_c+fod.subfolders.count
f_c=f_c+fod.files.count
'遍历文件夹中的文件
if fod.files.count>0 then
  for each fi in fod.files
      for j=1 to i
          response.write "- - "
      next
      response.write t_path&"/"&fi.name&"( <font color=red>"&i+1&" </font>) <br />"&vbcrlf
      siz=siz+fi.size
  next
end if
'遍历文件夹中的子文件夹,并回归调用
if fod.subfolders.count>0 then
  for each ff in fod.subfolders
      for j=1 to i
          response.write "- - "
      next
      response.write t_path&"/"&ff.name&"( <font color=red>"&i+1&" </font>) <br />"&vbcrlf
      response.flush '输出
      c_fod=t_path&"/"&ff.name
      call getcount(c_fod,i+1)
  next
end if
end function
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值