Option ExplicitDim gFSODim dirListingDim fileName
set gFSO = CreateObject("Scripting.FileSystemObject")
dirListing = ListDir("c:\??*d*")
If UBound(dirListing) = -1 then Wscript.Echo "No files found."Else For Each fileName in dirListing WScript.Echo FileName NextEnd If
'==============================================================================' List a directory, with the last part of the directory being the path'==============================================================================Function ListDir (ByVal Path) Dim fileRegex Dim searchFolderName Dim searchFolder Dim searchFolderFiles Dim fileName Dim fileArray Dim file
set fileRegex = New RegExp If gFSO.FolderExists(Path) Then ' Path is a directory, list all files in path searchFolder = Path fileName = "" Else searchFolderName = gFSO.GetParentFolderName(Path) fileName = gFSO.GetFileName(Path) fileRegex.Global = True fileRegex.Pattern = "\." fileName = fileRegex.Replace(fileName, "\.") fileRegex.Pattern = "\?" fileName = fileRegex.Replace(fileName, ".") fileRegex.Pattern = "\*" fileName = fileRegex.Replace(fileName, ".*") End If With fileRegex .Pattern = fileName .IgnoreCase = True .Global = False End With
ReDim fileArray(1) Dim fileCount : fileCount = 0
Set searchFolder = gFSO.GetFolder(searchFolderName) Set searchFolderFiles = searchFolder.Files
For Each file in searchFolderFiles If fileRegex.Test(file.Name) Then If fileCount > UBound(fileArray) Then ReDim Preserve fileArray(fileCount*2) End If fileArray(fileCount) = file.Path fileCount = fileCount + 1 End If Next ReDim Preserve fileArray(fileCount - 1) ListDir = fileArrayEnd Function