当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-12-05 21:06

    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
    )

    具体的大家可以凑凑