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
)
具体的大家可以凑凑
发表评论