fso遍历文件夹内所有文件和子文件夹

fso遍历文件夹内所有文件和子文件夹,递归调用,并计算所有文件总大小(这里当然可以直接用folder的size方法直接或得)
<%
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")
temp_path="E:" '要遍历的文件夹路径
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
%>

你可能感兴趣的:(fso遍历文件夹内所有文件和子文件夹)