[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 pcl_test 于 2016-9-3 15:37 编辑

如果哪位大神牛的话顺便把文件夹下有哪些东西显示出来。文件夹下存放的东西,子文件夹下存放的东西。小弟只当学习。大神就当重新温习温习。谢谢啦!!!

回复 2# DAIC


    谢啦。不要bat的。能不能用vbs代码写。遍历的那种

TOP

回复 4# DAIC

报错了
能不能写个纯vbs脚本的,谢啦

TOP

回复 6# DAIC


    恩恩。是了。我换了个盘。能行。但是我不想用bat。比如d盘下有一个文件夹test而这个test文件夹下还有一个文件夹test1就是d:\test\test1\test2等等
就是这种效果

TOP

回复 8# yu2n


    我去大神啊。这个代码这么长还有正则表达式。这个太难了我得慢慢消化。哦对了你能不能给我分析一个代码
  1. Function GetCurrentFolderFullPath  
  2. Set fso = CreateObject("Scripting.FileSystemObject")  
  3. GetCurrentFolderFullPath = fso.GetParentFolderName(WScript.ScriptFullName)  
  4. End Function
  5. '以上代码得到该脚本所在的路径
  6. Function GetSubFolders(currentFolderFullPath)  
  7.     Set fso = CreateObject("Scripting.FileSystemObject")  
  8.     Set currentFolder = fso.GetFolder(currentFolderFullPath)  
  9.     Set subFolderSet = currentFolder.SubFolders  
  10.     For Each subFolder in subFolderSet  
  11.         'MsgBox "subFolder.Path=" & subFolder.Path   
  12.         GetSubFolders =subFolder.Path  & vbcrlf  & GetSubFolders &  
  13. GetSubFolders(subFolder.Path)   
  14.          Next  
  15. End Function  
  16. MsgBox GetSubFolders(GetCurrentFolderFullPath)
复制代码

TOP

回复 9# ghost-jason

TOP

回复 8# yu2n


    你给的这个长代码怎么运行后没反应啊。我想看看效果

TOP

回复 14# yu2n


    我就是不明白图上画红线的地方就我标的那4点其他代码我都明白

TOP

回复 12# DAIC


    恩恩。我对递归确实不是很了解。请问哪里有那方面的资料

TOP

回复 13# yu2n


    恩恩。我试了这个代码确实厉害。效果不错。膜拜大神

TOP

回复 18# DAIC


    谢了

TOP

回复 13# yu2n


    大神我是菜鸟。那个长代码我会用了。这个短的咋调用了

TOP

回复 22# yu2n


    谢谢大神

TOP

回复 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  也就是当前脚本所在的父文件夹的路径
复制代码

TOP

返回列表