为了需要知道文件夹中存放的文件,你需要知道文件夹子文件夹,这样,你才能更好的了解文件夹的整体结构。文件夹对象包含了一个 Subfolders 属性,用来放会在文件夹下的 top-level 子文件夹的信息。
Top-level 子文件夹是直接在文件夹下面的。在子文件夹中的子文件夹不在这个范围之内。例如,在下例中,只有 Subfolder1 Subfolder2
是文件夹 scripts 的 top-level 的子文件夹。所以,如果用 Subfolders 这个属性来返回值的话,就只是会返回 Subfolder1 和Subfolder2
为了得到一个子文件夹的集合,你的脚本必须:
1. 创建一个 FSO 实例
2. 用 GetFolder 的方法绑定到一个文件夹。
3. 创建一个对象 reference 来表示 Subfolders 属性。这个是一个集合对象,因为它含有很多个对象。
在得到了对象 reference 这样一个集合之后,你可以用一个 For Each 循环来列举出子文件夹。下列脚本绑定到文件夹
C:\FSO,然后返回子文件夹的大小和名字。除了文件夹的名字之外,你可以返回信息。
1 Set objFSO = CreateObject("Scripting.FileSystemObject")
2 Set objFolder = objFSO.GetFolder("C:\FSO")
3 Set colSubfolders = objFolder.Subfolders
4 For Each objSubfolder in colSubfolders
5 Wscript.Echo objSubfolder.Name, objSubfolder.Size
6 Next
和你的文件系统的设计有关,有时知道 top-level
的子文件夹就可以提供足够的文件夹结构的信息。在多数文件系统中,文件夹是嵌套的,或者是被嵌套的。关于子文件夹的集合可以告诉你C:\Accounting 包含两个子文件夹 2001、2002,但是它不能告诉你他们的子文件夹的信息。
幸运的是,你可以用递归来查询一系列子文件夹的的信息。例如用 Subfolders 属性返回了一些 top-level 的子文件夹:
为返回完整的一系列子文件夹的信息,你需要用递归函数。这个函数用来调用它自己。下面脚本可以列举出文件夹的所有子文件夹:
1. 创建一个 FSO 对象实例
2. 用 GetFolder 的方法来绑定到文件夹 C:\Scripts。GetFolder 的方法用来返回文件夹对象 C:\Scripts.然后这个
C:\Scripts 作为递归子函数 ShowSubFolders 的参数。这个子程序会列举出所有的 C:\Scripts 下的子文件夹。返回一个包含在
C:\Scripts 下所有子文件夹的信息。这个集合有两个值:Subfolder1 和Subfolder 2.
4. 返回第一个参数的路径 Subfolder1。这个子程序用这个来作为参数将它输入给它自身。换句话说,脚本现在调用 ShowSubFolders,并且参数是 Subfolder1。
5. 返回在 Subfolder1 中的所有参数。这个集合有两个值:Subfolder1A and Subfolder 1B.
6. 回显第一个集合的路径,Subfolder1A。子程序用这个来作为参数调用自己。换句话说,就是用 ShowSubFolders 这个函数,那么它的参数是 Subfolder1A 来作参数。
7. 继续执行下一个参数。因为在 Subfolder1A 中没有了子文件夹。这个子程序用Subfolder1B 作为参数。
8. .完成了关于文件夹 Subfolder1 的循环。这个过程结束在 Subfolder1B 没有子文件夹。脚本然后用 Subfolder2
来作为参数,并且重复上面整个过程。
1 Set FSO = CreateObject("Scripting.FileSystemObject")
2 ShowSubfolders FSO.GetFolder("C:\Scripts")
3 Sub ShowSubFolders(Folder)
4 For Each Subfolder in Folder.SubFolders
5 Wscript.Echo Subfolder.Path
6 ShowSubFolders Subfolder
7 Next
8 End Sub
当用 CScript 运行的时候,命令行中显示如下:
C:\scripts\Subfolder 1
C:\scripts\Subfolder 1\Subfolder 1A
C:\scripts\Subfolder 1\Subfolder 1B
C:\scripts\Subfolder 2
C:\scripts\Subfolder 2\Subfolder 2A
C:\scripts\Subfolder 2\Subfolder 2A\Subfolder 2A-1
C:\scripts\Subfolder 2\Subfolder 2B
C:\scripts\Subfolder 2\Subfolder 2C
为了获得完整的文件夹列表,你可以从根文件夹查起:比如 C:\
分享到:
相关推荐
VBS脚本运行库手册之三(管理文件夹) VBS脚本运行库手册之四(管理文件夹) VBS脚本运行库手册之五(文件夹属性) VBS脚本运行库手册之六(文件夹属性) VBS脚本运行库手册之八(管理文件) VBS脚本运行库手册...
文件系统管理是系统管理的一个关键性任务。WSH 和 VB 脚本在这个领域都没有提供相关的功能。幸运的是,你可以通过 script runtime 库来管理这些关键的系统组件,比如磁盘,文件夹和文件。
◎Vbs脚本编程简明教程之十三—WMI基础之二—阻止客人运行你不想运行的程序 ◎Vbs脚本编程简明教程之十四—使用dictionary对象 ◎Vbs脚本编程简明教程之十五—VBS内置函数之一 ◎Vbs脚本编程简明教程之十五—...
wincc vbs脚本手册 西门子 组态 脚本
TIA Portal WinCC Engineering V17 – VBS脚本编程参考手册
VBS脚本编程参考手册
vbs脚本手册
西门子WinCC_VBS_VBA脚本编程手册
Vbs脚本编程简明教程 Vbs脚本参考 VBS脚本运行库手册
VBS实例 44个 vbs脚本实例, VBS取QQ-TM号码的自动登录命令行.vbs 妙用脚本清除电脑中的痕迹.vbs 后台字典文件管理器.vbs 定时关机.vbs 列出管理工具集.vbs 旁注查询工具.vbs 中文姓名笔画计算(VBS脚本版).vbs ...
Qt工程,c++代码调用vbs脚本函数,一个很简单的demo,参考学习
修改文本中exe文件路径,将txt后缀改为vbs,运行即可
WinCC常用的C脚本和VBS脚本对变量进行置位,复位,取反,读写变量;
WinCC_VBS脚本,包含VBS 手册,
wincc VBS脚本加密破解
helloworld vbs 脚本hellohelloworld vbs 脚本world vbs 脚本helloworld vbs 脚本helloworld vbs 脚本helloworld vbs 脚本
这是一个可以删除硬盘里的空文件夹的vbs脚本,不建议在c盘和d盘使用,误删除跟原作者及发送者无关。
vbs 脚本学习的参考手册,chm格式,很详细哦!
vbs开发语言教程,Vbs脚本编程简明教程之三 Vbs的基本语法