递归扫描文件夹代码,供参考

'有的爱好编程的初学者感觉递归代码很难写很难搞定,此给出一实例,以供参考

'(注:递归代码函数一定要给出出口代码,否则将进入无限循环)

'注:代码仅供商榷,勿作它用,更不可违法使用,使用时必须您自行承担相应责任!

'以下为VBS代码,可双击VBS文件运行之

path1=Wscript.ScriptFullName:dir1=left(path1,instrrev(path1,"\"))

'此代码递归扫描dir1目录下有多少子目录和文件,dir1为本代码文件所处的目录

ncount=0:ndiv=0:c30=chr(13)+chr(10)

drnext 'drnext为入口函数

msgbox("经扫描,文件夹:“"+dir1+"”下"+c30+"共有文件【"+cstr(ncount)+"】个"+c30+"共有文件夹【"+cstr(ndiv)+"】个")

sub drnext()

on error resume next

set fso = createobject("
Scripting.FileSystemObject") '建立电脑文件系统对象fso

for each dr in fso.getfolder(dir1).subfolders '递归扫描文件夹"dir1"

fdnext(dr)

flnext(dr)

next

end sub

sub fdnext(dr) '处理文件夹的函数

ndiv=ndiv+1 '统计总共处理了的文件夹数

for each fd in dr.subfolders

fdnext(fd) '递归调用(即自己调用自己)

flnext(fd)

next

end sub

sub flnext(dr) '处理文件的函数

set fso = createobject("Scripting.FileSystemObject")

for each fl in dr.files

ncount=ncount+1 '统计总共处理了的文件个数

next

end sub

Wscript.quit

'以上为代码全文,可用于搜索文件和文件夹中包含特定关键字的文件或文件夹(dr.name为文件或文件夹的名称)

'文中所发表的内容若涉及您的版权或隐私等,请及时与我们联系,若需要我们撤下文章,我们将立即撤下,谢谢您!并深表歉意!

原文链接:,转发请注明来源!