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

时间:2022-11-24 20:53:31

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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获取目录下的文件和文件夹集合

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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"

批量统计子目录文件数量

?
1
2
3
4
5
6
7
@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
)

具体的大家可以凑凑