谁能帮解释一下这个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开头 展开
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开头 展开
展开全部
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的首字母就这么定义了。
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的首字母就这么定义了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询