Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

批量提取文件夾所有文件名到 Excel:DOS 命令 + 外部數據導入高效法

編輯:XP 系統基礎知識

場景痛點:手工複製重命名效率極低、易出錯

需將資料夾內大量文件名(如發票清單、圖片索引、代碼文件目錄、合同歸檔)導出到 Excel 建檔、打印、篩選、對賬。傳統方法:逐個 F2 重命名 → Ctrl+C → 切換 Excel → Ctrl+V,百個文件需重複百次,極其低效且難免遺漏重複。

核心原理:DOS 重定向輸出 + Excel 文本導入向導

利用 dir 命令列出文件信息,通過重定向符 > 導出文本文件,再用 Excel 強大的「獲取外部數據/導入文本」功能解析結構化導入,實現秒級批量提取。

完整操作步驟(以提取 C:\Windows 目錄為例)

步驟 1:DOS 命令導出文件列表文本

  1. 打開命令提示符 (CMD):Win+R → cmd → 回車
  2. 切換到目標盤符:輸入 C: 回車
  3. 進入目標目錄:輸入 cd Windows 回車
  4. 執行導出命令:
dir > D:\filelist.txt

參數變體(按需選擇):

命令效果
dir /b > D:\filelist.txt僅列出文件名(純淨模式,無日期/大小/屬性),最適合單純提取名單
dir /b /s > D:\filelist.txt遞歸列出**所有子目錄**下的文件全路徑
dir /b /a-d > D:\filelist.txt僅列出文件,排除目錄
dir /b /o:n > D:\filelist.txt按名稱排序輸出
dir /b /o:e > D:\filelist.txt按擴展名排序輸出
dir /b /o:d > D:\filelist.txt按日期排序輸出

推薦組合:dir /b /a-d /o:n > D:\filelist.txt(純文件名、按名排序、無干擾信息)

步驟 2:Excel 導入文本文件(以 Excel 2016/2019/365 為例)

  1. 新建/打開 Excel 工作簿
  2. 選中 A1 單元格(或目標起始單元格)
  3. 數據選項卡 → 獲取數據 → 從文本/CSV (舊版:數據 → 從文本/CSV / 獲取外部數據 → 從文本)
  4. 選擇剛生成的 D:\filelist.txt → 導入
  5. 文本導入向導 - 步驟 1/3:
  • 原始數據類型:選 分隔符號 (Delimited)
  • 文件源:65001: Unicode (UTF-8) (中文文件名防亂碼關鍵!)
  • 預覽區確認無亂碼 → 下一步
  1. 步驟 2/3:分隔符號
  • 取消勾選所有預設分隔符(制表符、分號、逗號、空格)
  • 因 /b 參數輸出純文件名無分隔符,**無需任何分隔符** → 直接 下一步
  1. 步驟 3/3:欄資料格式
  • 選 常見 或 文本 (文本格式保留前導零、長數字不科學計數法)
  • 完成
  1. 導入數據對話框:選 現有工作表 → $A$1 → 確定

結果:A 欄即為完整、有序、可編輯、可篩選的文件名列表

進階技巧:提取更多元數據(日期、大小、擴展名、路徑)

方案 A:不加 /b 參數,導出完整 dir 輸出,Excel 固定寬度分列

dir > D:\filelist_full.txt

導入向導步驟 1 選 固定寬度,步驟 2 在預覽處手動調整分欄線(日期、時間、AM/PM、大小、文件名),可一次性獲得結構化完整信息。

方案 B:PowerShell 輸出 CSV 結構化數據(推薦現代環境)

Get-ChildItem -File | Select-Object Name, LastWriteTime, Length, Extension, FullName | Export-Csv -Path D:\filelist.csv -Encoding UTF8 -NoTypeInformation

直接雙擊 CSV 或 Excel 打開,獲得完美分欄的:文件名、修改時間、大小(字節)、擴展名、完整路徑 — 無需任何向導配置。

方案 C:批處理腳本一鍵生成 Excel (需安裝 Excel)

@echo off
dir /b /a-d /o:n > "%temp%\flist.txt"
powershell -Command "Get-Content '%temp%\flist.txt' | ForEach-Object { [pscustomobject]@{Name=$_} } | Export-Csv 'D:\FileList.csv' -Encoding UTF8 -NoTypeInformation"
start excel.exe "D:\FileList.csv"

保存為 gen_filelist.bat,雙擊運行即可自動生成並打開 Excel 文件列表。

跨系統/場景適用性對比

方法適用系統優點缺點
DOS dir + Excel 導入Win XP - Win 11、所有 Excel 版本無依賴、原生命令、通用性極強需手動配置導入向導、固定寬度調整繁瑣
PowerShell Export-CsvWin 7+ (內置 PS 2.0+)結構化完美、一鍵得標準 CSV、支援完整屬性XP 需安裝 PS、舊版 Excel 打開 CSV 可能編碼問題
第三方工具 (Everything/Total Commander/DirPrintOK)全平台GUI 可視化、功能豐富、支援正則/過濾/多格式導出需安裝軟件、攜帶性弱
右鍵「複製為路徑」 (Shift+右鍵)Win 7+零配置、極快、適合少量文件含完整路徑、需後處理、不支援遞歸

實戰案例:發票文件名批量建檔

  1. 發票 PDF 存放於 E:\Invoices\2024\
  2. CMD 執行:dir /b /a-d /o:n "E:\Invoices\2024" > E:\Invoices\2024_list.txt
  3. Excel 導入文本 (UTF-8、分隔符號無勾選、文本格式)
  4. 插入欄:B欄「發票號」(從文件名提取)、C欄「金額」、D欄「日期」、E欄「狀態」
  5. 啟用篩選/條件格式/數據驗證 → 瞬間變身發票管理台賬

總結

dir /b /a-d /o:n > list.txt + Excel「從文本/CSV」導入 (編碼 UTF-8、無分隔符、文本格式),是**零安裝、全版本通用、可視化可控**的文件名批量提取黃金組合。掌握此法,告別手工複製,讓文件管理從「體力活」升級為「數據活」。

Copyright © Windows教程網 All Rights Reserved