找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: ghost-jason

[问题求助] vbs如何实现输出指定路径/目录/文件夹下所有子文件夹及文件的路径

[复制链接]
 楼主| 发表于 2014-10-29 15:11:17 | 显示全部楼层
回复 12# DAIC


    恩恩。我对递归确实不是很了解。请问哪里有那方面的资料
 楼主| 发表于 2014-10-29 15:16:44 | 显示全部楼层
回复 13# yu2n


    恩恩。我试了这个代码确实厉害。效果不错。膜拜大神
发表于 2014-10-29 15:20:02 | 显示全部楼层
 楼主| 发表于 2014-10-29 15:44:15 | 显示全部楼层
回复 18# DAIC


    谢了
 楼主| 发表于 2014-10-29 15:53:00 | 显示全部楼层
回复 13# yu2n


    大神我是菜鸟。那个长代码我会用了。这个短的咋调用了
发表于 2014-10-29 17:12:43 | 显示全部楼层
回复 15# ghost-jason

1. 那是【函数】Function(【过程】Sub)的【参数】,也是一种【变量】。
2. 函数自身调用自身,这里是【递归】。要掌握【函数返回值】的运用。

注:符号【】里面的内容必须掌握。
发表于 2014-10-29 17:17:42 | 显示全部楼层
回复 20# ghost-jason

函数 ScanFolder(ByVal strPath)
功能:获取指定路径下(参数)所有文件(夹)的路径,保存到一个字符串,函数将返回这个字符串。
使用:例如要知道 D:\ 下面有什么文件(夹)

  1. Dim strPath, strInfo
  2. strPath = "D:"
  3. strInfo = ScanFolder(strPath)
  4. Msgbox strInfo
复制代码
 楼主| 发表于 2014-10-29 17:37:36 | 显示全部楼层
回复 22# yu2n


    谢谢大神
 楼主| 发表于 2014-11-7 10:04:02 | 显示全部楼层
回复 9# ghost-jason


    遍历代码分析。自己分析
  1. Function getfolderpathone    '起个容易理解的函数名
  2. Set fso = CreateObject("scripting.filesystemobject") '创建文件系统对象
  3. getfolderpathone = fso.GetParentFolderName(WScript.ScriptFullName) '得到当前脚本的父路径(绝对路径)
  4. End Function

  5. Function getfolderpath(test) '创建遍历函数名称
  6. Set fso = CreateObject("scripting.filesystemobject")'同样创建文件系统对象
  7. Set folderpath = fso.GetFolder(test)                  '得到当前单个文件夹的路径
  8. Set subfolders = folderpath.SubFolders                    '获取的个文件夹下多个个子文件夹路径
  9. For Each subfolder In subfolders                         '遍历一个一个显示单个子文件存储到一个变量当中
  10. getfolderpath= subfolder.Path & vbcrlf  & getfolderpath & getfolderpath(subfolder.Path) '得到单个子文件夹的路径
  11. 'getfolderpath(subfolder.Path)  至于这个函数test=subfolder.path 起到循环子文件夹下个子文件夹
  12. next
  13. End Function
  14. MsgBox getfolderpath(getfolderpathone) '这个函数实际上  test = getfolderhone  也就是当前脚本所在的父文件夹的路径
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 20:15 , Processed in 0.020198 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表