如何獲取全部文件名稱(含子文件夾)?

2022-01-02 Excel辦公實戰

我們如何要做多文件處理,第一步就是需要獲取到全部的文件,然後才能談合併或者其他操作!

今天我們就是介紹如何獲取全部文件名稱!

為了大家方便調用,我們通過FSO對象來處理!

FSO對象-用於對文件文件夾管理,包括常見的增、刪、查、改、移等操作!
這裡我們推薦新手使用前期綁定,也就是我們下面的寫法 NEW進行實例化!
比如下面根據路徑獲取文件夾對象,輸入 getfo就會調出來 GetFolder 方法講解02 | 獲取指定路徑下的全部文件夾(不含子級)非常簡單,說白了,就是FSO這個類封裝好了一些常用方法,我們只要知道語法去調用,不需要知道內部如何去實現的!下面的代碼,列出了給定路徑(basePath常量)
oFso.GetFolder(basePath).SubFolders

我們想要的只是每個文件夾對象的全路徑,當然你也可以獲取文件夾名稱如果你注意一下上圖,你會發現他有一個Files屬性,下面我們想要獲取文件信息就要使用到!files是文件夾對象的一個屬性,通過他可以獲得文件夾下的全部文件對象,就好像大家看到的一樣,文件有很多屬性,比如創建時間、修改時間、大小等
有了上面的鋪墊,我們結合遞歸就可以寫一個列出全部文件名稱的程序了!
為了方便大家調用,我們成型的代碼還是使用後期綁定,這樣就不需要引用對應的dll文件庫了!
封裝好後一句代碼即可調用獲取文件名稱,當然想獲取路徑+名稱 的使用Path前面鋪墊已講,其他屬性,大小什麼的也可以獲取!

Const basePath As String = "D:\OFFICE模板\Excel\"
Dim n As Long '記錄文件數目
'公眾號:Excel辦公實戰
'--
Sub getFiles(spath As String)
    Dim oFso As Object, ofile As Object, fd As Object
    Dim baseFolder As Object
    
    '創建Fso對象-後期綁定
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    '獲取文件夾對象
    Set baseFolder = oFso.GetFolder(spath)
    
    '遍歷對應的文件夾中的全部文件夾
    For Each ofile In baseFolder.Files
        n = n + 1
        Cells(n, 1) = ofile.Name '文件名稱寫入A列
    Next
    
    '處理所有文件夾
    For Each fd In baseFolder.SubFolders
        '遞歸調用
       getFiles fd.Path
    Next
End Sub

'一句代碼調用
Sub 獲取全部文件名稱()
    getFiles basePath
End Sub

如果你是要供其他過程調用,建議把數據封裝到一個全局數組中!這裡就不再展開了!遞歸什麼?大概就是「從前有座山,山裡……」,你們都熟悉吧!

相關焦點

  • VBA代碼大全010:用vba遍歷文件夾及其子文件夾內的文件
    以下是一個通用的遍歷文件夾下的文件的代碼,可以包含是否遍歷子文件夾:Sub begin() Excel.Application.ScreenUpdating = False Excel.Application.DisplayAlerts = False Excel.Application.Calculation = xlCalculationManual
  • VBA常用代碼:批量獲取指定文件夾下的文件名
    哈嘍小夥伴們好,我是人見人愛的男神星光。今
  • Qt:選取文件夾 遍歷子文件夾和文件
    採用遞歸和QDir實現文件夾下所有文件遍歷的方法#ifndef MAINWINDOW_H
  • Windows 10獲取文件夾下所有文件夾路徑
    電腦的某個目錄下可能有許多文件夾和文件,為了方便統計、分析和管理文件夾和文件信息,這時候就需要獲得文件夾或文件的路徑。具體怎麼獲得呢?打開Windows 10電腦資源管理器,進入想要獲取文件夾或文件路徑的文件夾中。
  • PyQt5中文件及文件夾操作
    remove()刪除文件rename()重命名文件seek()查找文件setFileName()設置文件名write()向文件中寫入數據2、使用QFileInfo類操作文件夾QFileInfo類主要獲取文件信息。
  • 利用Excel快速提取文件、文件夾的名稱
         在計算機辦公應用中,有時我們需要提取文件夾中的文件名稱,整理文件目錄。一個一個輸入統計太慢,可以利用Excel提高效率。一、Ctrl+A選中文件夾中的所有文件或文件夾
  • 一文看懂Python對文件和文件夾的操作: 含os, shutil和glob模塊.Python學習面試必讀.
    在利用Python或Django從事Web開發時除了必須要了解Python面向對象的編程思想,還必須熟練掌握對文件夾和文件的操作。小編我精心準備了個小結,教你如何利用python進行基本的文件和文件夾操作,並重點介紹了如何使用os, shutil和glob模塊進行常見的文件和文件夾操作,如遍歷,刪除文件和查找文件。
  • 如何批量複製文件夾中的文件或者文件夾名字方法
    簡單的複製文件名字大家都會,但是如果一個文件夾裡面有好多文件或者文件夾,我們想複製這些文件或者文件夾的名稱,一個一個複製是不是就很麻煩了,如何批量複製文件夾中的文件或者文件夾名字和路徑,今天就教大家利用一個腳本1秒批量提取電腦文件夾中的所有文件名字?
  • 【代碼合集】VBA操作文件夾代碼合集
    ,如果想要使用 RmDir 來刪除一個含有文件的目錄或文件夾,則會發生錯誤。如果文件夾裡有文件無法直接刪除文件夾,需要先遍歷刪除文件夾以及子文件夾裡面的文件。所以這種方法,不推薦使用。05獲取子文件夾Sub 獲取子文件夾路徑
  • Python內置的文件夾操作
    1、獲取文件夾路徑:絕對路徑和相對路徑Python中通過os模塊提供的getcwd()方法獲取當前工作文件夾如代碼位於G:\Projectfile\image\test.py,運行如下代碼import os
  • 【Excel VBA】批量提取文件夾下文件名
  • Excel辦公技巧:文件夾中有多個文件,如何快速製作文件目錄?
    在工作中我們可能會遇到要整理文件目錄的情況,比如為下面圖1「PPT教程」文件夾中的6個文件整理一個文件名目錄,參考效果見圖2。這篇文章我們來學習一下操作辦法。圖2操作步驟:1.在Excel工作簿中打開一張工作表,單擊「數據」選項卡"獲取和轉換"功能組中的"新建查詢"按鈕,
  • 如何保證高效率——文件、文件夾命名規範
    那麼如何保證高效率的工作先排除每個人真實水準不同,那麼【工具的選擇】、【文件的整理】、【工作總結】就佔了很大的成分。工具的選擇,我在上一篇文章已經說了,比如:Evarything(全局文件搜索工具)、To-Do(待辦事項)、OneNote(筆記軟體)、油猴子(腳本管理器)等等,用好這些工具能讓你工作事半功倍。而且很多優秀的工具都備有優秀的插件,利用插件還可以進一步的提高工具效率。(註:插件過多會影響軟體啟動速度,如不需要的插件還是卸載比較好!)
  • 如何使用OneDrive備份重要文件夾
    本期推文將繼續為大家介紹在OneDrive中,如何備份重要文件夾——自動將「桌面」、「文檔」和「圖片」文件夾備份和同步到 OneDrive 中,一起來學習一下吧!可以使用 OneDrive 電腦文件夾備份將重要文件夾 (桌面、文檔和圖片文件夾) 備份到 Windows 電腦上,以便這些文件夾受到保護並可在其他設備上使用。
  • 把文件批量放入到指定文件夾,還在用滑鼠拖嗎?excelVBA快速搞定
    日常工作中經常會整理文件到指定的文件夾,少的時候用滑鼠拖拖,多了就很麻煩了,這種枯燥的重複性工作可以交給電腦批量處理,現在就分享一個方法。如下圖所示,在這個文件夾中,有各種類型的文件,我想把所有名稱為1的文件,無論是什麼類型,統一放到文件夾1裡,把所有名稱是2的文件放到文件夾2裡,以此類推,一共有1-5個文件夾。
  • 如何共享文件夾並設置密碼進行保護
    如何保護區域網共享文件,並對共享文件的訪問權限進行管理呢?藉助區域網我們通過文件伺服器共享視頻或文件時,需要保證其完整性和安全性,以防止被區域網用戶任意修改或刪除。接下來就與大家分享一下有關區域網所共享的視頻文件進行加密保護以防止被刪除的解決辦法。
  • 技巧|深度對比Python中4大文件/文件夾處理庫
    獲取指定路徑下所有文件/文件夾的路徑信息以當前工作目錄為例:在當前工作目錄下,有下方這些文件。「注意:」 iterdir()方法返回的是直接子文件或子文件夾【不考慮嵌套文件夾中的文件】。7.獲取指定路徑下"符合條件"文件的路徑信息僅想要獲取直接子文件的路徑信息,使用的是glob()方法。p = Path.cwd()file_list = p.glob('*.txt')for file in file_list:    print(file)
  • 如何在計算機上創建新文件夾
    教你如何在Windows電腦上創建一個新的空文件夾。1.桌面1.轉到要創建文件夾的區域。最簡單的例子是您的計算機的桌面,但是您可以在計算機上的任何地方創建文件夾。你可以打開文件資源管理器單擊「開始」菜單並鍵入「文件資源管理器」,然後單擊文件資源管理器在「開始」菜單的頂部。在那裡,您可以從左邊的窗格中選擇要打開的任何文件夾2.右擊空格這樣做會打開下拉菜單。
  • 一個一個建立文件夾太麻煩?如何批量建立多個文件夾?
    在工作中經常會遇到為了存放一些資料,在電腦盤裡建立各種各樣的文件夾方便統計資料!當然如果是一個兩個文件夾建立起來還是很方便的!但是如果是十幾個文件夾甚至上百個文件夾呢?比如:為公司或者單位每個人員建立單獨的資料文件夾。估計一個個點擊新建文件夾→命名文件夾,這樣的步驟想想就頭疼吧!那麼有沒有什麼批量操作的方法來一次建立很多的文件夾呢?而且還要每個文件夾都是不同的名稱呢?
  • 如何利用Excel表格來快速創建多個文件夾?
    前面和大家分享了如何快速的建立多個文件夾,不知道大家是否感覺很方便也很快速。利用前面的方法我們去建立需要的多個文件夾,在已知的需要什麼樣的名字的文件夾會很方便。比如下面圖所示:既然在Excel表格內都錄入好了,那麼能不能直接利用表格內錄入好的名稱來建立多個文件夾呢?直接複製Excel表格內的內容到建立的文檔文件裡面是不是可以呢?