欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-10 07:58:07
vbs肿么获取某目录下的文件列表 dim filename,fs,foldername foldername = inputbox("请输入想要在哪个文件夹查找", "vb...

vbs肿么获取某目录下的文件列表

dim filename,fs,foldername
foldername = inputbox("请输入想要在哪个文件夹查找", "vbs查找文件")
if foldername = "" then
wscript.quit
end if
set fs = createobject("scripting.filesystemobject")
digui (foldername)'调用递归函数进行查找
msgbox filename '结果显示

'下面是递归查找函数
function digui(path)
set folder = fs.getfolder(path)
set subfolders = folder.subfolders
set files = folder.files
for each i in files
filename=filename & i.path & vbnewline '找到则追加到变量filename中
next
for each j in subfolders
digui (j.path) '递归查找子目录
next
end function

'目录列表与上述相似,稍加修改即可。

vbs获取目录下的文件和文件夹集合

dim sfolder, sext, message
sfolder = "f:\programming\applications\vbscript"
 
dim fs, ofolder, ofiles, osubfolders
set fs = createobject("scripting.filesystemobject")
set ofolder = fs.getfolder(sfolder)   '获取文件夹
set osubfolders = ofolder.subfolders  '获取子目录集合
 
for each folder in osubfolders
  message = "文件夹:" & folder
  msgbox message
next
 
set ofiles = ofolder.files       '获取文件集合
for each file in ofiles
  sext = fs.getextensionname(file)  '获取文件扩展名
  sext = lcase(sext)         '转换成小写
  message = "文件名:" & file.name & ", 扩展名:" & sext '获得文件名(含扩展名,不含路径)和扩展名
  msgbox message
next

充,上面的folder.name可以得到文件夹的名称(不含路径)
如:folder = f:\programming\applications\vbscript\dd
通过folder.name可以得到"dd"

批量统计子目录文件数量

@echo off&setlocal enabledelayedexpansion
cd.>dirfiles.txt
for /d %%a in (*.*) do (
set n=0
for /f %%b in ('dir /a-d /b /s "%%a"') do set /a n+=1
echo %%a  !n! >>dirfiles.txt
)

具体的大家可以凑凑

相关标签: vbs 文件列表