谁能帮解释一下这个vbs的意思,逐句哦,

Dimfso,level,StartPath,nFold,nFileSetfso=CreateObject("scripting.filesystemobject")St... Dim fso,level,StartPath,nFold,nFile
Set fso = CreateObject("scripting.filesystemobject")
StartPath= "c:\QMDownload" : level=0 : nFold=0 :nFile=0
Call getallfolder(StartPath)
Call getallfile(StartPath)
WScript.Echo "文件夹:" & nFold
WScript.Echo "文件数:" & nFile

Sub getallfolder(path)
Set objfolder=fso.GetFolder(path)
Set objSubFolders=objFolder.SubFolders : Set objfolder=Nothing
For Each objSubFolder In objSubFolders
level=level+1 : nFold=nFold+1
WScript.Echo Space(level * 2) & objSubFolder.Name
nowpath=path & "\" & objSubFolder.Name
Call getallfolder(nowpath)
Call getallfile(nowpath)
level=level-1
Next
End Sub
Sub getallfile(fold)
Set objfiles=fso.GetFolder(fold)
For Each objfile In objfiles.Files
WScript.Echo Space(level * 2 + 2) & objfile.Name
nFile=nFile+1
Next
Set objfiles=Nothing
End Sub
尤其是为什么定义的时候nfile,nfold ,为什么通常定义成n开头
展开
 我来答
柏博瀚0EM207
2011-02-16 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:44.9万
展开全部
Dim fso,level,StartPath,nFold,nFile //定义全局变量
Set fso = CreateObject("scripting.filesystemobject") //创建一个对象来操作文件系统
StartPath= "c:\QMDownload" : level=0 : nFold=0 :nFile=0 //赋值变量
Call getallfolder(StartPath) //调用函数
Call getallfile(StartPath) //调用函数
WScript.Echo "文件夹:" & nFold //弹出框显示
WScript.Echo "文件数:" & nFile

Sub getallfolder(path) //函数开始
Set objfolder=fso.GetFolder(path) //scripting.filesystemobject"的方法,可以获取文件夹
Set objSubFolders=objFolder.SubFolders : Set objfolder=Nothing //获取所有子文件夹,释放变量objfolder
For Each objSubFolder In objSubFolders //foreach语句,每个元素遍历到时为objSubFolder
level=level+1 : nFold=nFold+1 //level为文件夹深度,nFold为文件夹个数
WScript.Echo Space(level * 2) & objSubFolder.Name //弹出框提示
nowpath=path & "\" & objSubFolder.Name //子文件夹的路径名称
Call getallfolder(nowpath) //递归遍历子文件夹中的文件夹个数
Call getallfile(nowpath) //递归遍历子文件夹中文件个数
level=level-1 //回到本层,深度-1
Next //foreach语句语法
End Sub //函数结束
Sub getallfile(fold) //函数开始
Set objfiles=fso.GetFolder(fold) //获取文件夹
For Each objfile In objfiles.Files //遍历文件夹下的所有文件
WScript.Echo Space(level * 2 + 2) & objfile.Name
nFile=nFile+1 //文件个数+1
Next
Set objfiles=Nothing //释放对象
End Sub //函数结束

问题补充:
尤其是为什么定义的时候nfile,nfold ,为什么通常定义成n开头
没啥为什么,个人的定义习惯而已。这两个变量表示的是文件个数(number)和文件夹个数,应该是取了number的首字母就这么定义了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式