• 售前

  • 售后

热门帖子
入门百科

VBS怎么获取指定目次下的文件列表

[复制链接]
李志敏 显示全部楼层 发表于 2021-8-19 19:32:56 |阅读模式 打印 上一主题 下一主题
VBS肿么获取某目次下的文件列表
  1. dim FileName,fs,foldername
  2. foldername = InputBox("请输入想要在哪个文件夹查找", "VBS查找文件")
  3. If foldername = "" Then
  4. wscript.quit
  5. End If
  6. Set fs = CreateObject("scripting.filesystemobject")
  7. digui (foldername)'调用递归函数进行查找
  8. msgbox FileName '结果显示
  9. '下面是递归查找函数
  10. Function digui(path)
  11. Set folder = fs.getfolder(path)
  12. Set subfolders = folder.subfolders
  13. Set Files = folder.Files
  14. For Each i In Files
  15. FileName=FileName & i.path & vbNewLine '找到则追加到变量FileName中
  16. Next
  17. For Each j In subfolders
  18. digui (j.path) '递归查找子目录
  19. Next
  20. End Function
复制代码
'目次列表与上述相似,稍加修改即可。
vbs获取目次下的文件和文件夹集合
  1. Dim sFolder, sExt, message
  2. sFolder = "F:\Programming\Applications\VBScript"
  3. Dim fs, oFolder, oFiles, oSubFolders
  4. set fs = CreateObject("Scripting.FileSystemObject")
  5. set oFolder = fs.GetFolder(sFolder)   '获取文件夹
  6. set oSubFolders = oFolder.SubFolders  '获取子目录集合
  7. for each folder in oSubFolders
  8.   message = "文件夹:" & folder
  9.   MsgBox message
  10. Next
  11. set oFiles = oFolder.Files       '获取文件集合
  12. for each file in oFiles
  13.   sExt = fs.GetExtensionName(file)  '获取文件扩展名
  14.   sExt = LCase(sExt)         '转换成小写
  15.   message = "文件名:" & file.Name & ", 扩展名:" & sExt '获得文件名(含扩展名,不含路径)和扩展名
  16.   MsgBox message
  17. Next
复制代码
充,上面的folder.Name可以得到文件夹的名称(不含路径)
如:folder = F:\Programming\Applications\VBScript\dd
通过folder.Name可以得到"dd"
批量统计子目次文件数目
  1. @echo off&setlocal enabledelayedexpansion
  2. cd.>dirfiles.txt
  3. for /d %%a in (*.*) do (
  4. set n=0
  5. for /f %%B in ('dir /a-d /b /s "%%a"') do set /a n+=1
  6. echo %%a  !n! >>dirfiles.txt
  7. )
复制代码
具体的各人可以凑凑

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作