|
|
- Enum aSearchType
- aSearchTypeFolder = 0
- aSearchTypeFile = 1
- aSearchTypeAll = 2
- End Enum
- Function mySearch(aPath$, Optional searchTraversal As Boolean = True, Optional searchType As aSearchType = aSearchTypeFile) As String()
- '参数1:遍历目录全路径
- '参数2:是否搜索子目录
- '参数3:搜索文件、目录或者全部
- Dim aNum&, cmdStr$, folder$, aTemp$
- folder = """" & aPath & """"
- cmdStr = Environ$("comspec") & " /c dir " & folder '初始化字串
- If searchTraversal Then cmdStr = cmdStr & " /s" '定义是否遍历
- aTemp = Mid(aPath, InStrRev(aPath, "") + 1) '获取最后一个""后的内容
- If Left(aTemp, 2) = "*." Then searchType = aSearchTypeFile
- If searchType = aSearchTypeFile Then '定义搜索文件、目录还是全部
- cmdStr = cmdStr & " /a:-d /b"
- ElseIf searchType = aSearchTypeFolder Then
- cmdStr = cmdStr & " /a:d /b"
- ElseIf searchType = aSearchTypeAll Then
- cmdStr = cmdStr & " /b"
- End If
- cmdStr = cmdStr & " > C:\aTemp.txt"
- With CreateObject("WScript.Shell")
- .Run cmdStr, 0, True
- End With
- aNum = FreeFile
- Open "C:\aTemp.txt" For Input As #aNum
- mySearch = Split(StrConv(InputB(LOF(aNum), aNum), vbUnicode), vbCrLf)
- Close #aNum
- End Function
复制代码 |
|