Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 電腦軟體介紹

千張照片三步篩選:DOS 指令 + Excel VLOOKUP 批次刪除不需檔案

編輯:電腦軟體介紹

情境:從近千張學生照片中,只保留「已報到且本地就讀」者

照片以身分證字號命名,存放於 `E:\電子照片`。依據 `新生登記表.xls` 的身分證清單篩選,手動搜尋刪除太慢。解法:DOS 導出檔名 → Excel 比對 → 批次檔刪除,三步搞定。

步驟一:取得所有檔名清單

  1. 開啟資料夾,網址列輸入 `cmd`(Win7 直接輸入 `cmd`)開啟命令提示字元。
  2. 輸入指令:DIR /O /B > LIST.TXT,按 Enter。所有檔名寫入 `LIST.TXT`。
  3. 開啟 `LIST.TXT`,使用「取代」功能(Ctrl+H)將所有 `.jpg` 移除,僅留身分證字號。

照片資料夾 LIST.TXT 內容 取代 .jpg

步驟二:Excel VLOOKUP 比對,產出刪除清單

  1. 開啟 `新生登記表.xls`。將 `LIST.TXT` 內容全選複製,貼到新工作表 A 欄(先將 A 欄設為「文字」格式,避免科學符號)。
  2. B1 輸入公式:=VLOOKUP(A1,[新生登記表.xls]sheet1!$A:$A,1,0),雙擊填充柄向下複製。
  3. 對 B 欄做「遞增排序」,`#N/A` 即為「不在登記表中」的身分證號。
  4. 選取所有 `#N/A` 對應的 A 欄資料,複製到新工作表 A 欄。
  5. C1 輸入 =A1&".jpg" 還原檔名;B1 輸入 `del` 並向下複製。

排序後含 #N/A 產生 del 指令

步驟三:批次檔一鍵刪除

  1. 複製 B、C 兩欄內容 → 貼到記事本 → 另存為 `del.bat`(存檔類型選「所有檔案」),放入 `E:\電子照片`。
  2. 雙擊 `del.bat` 執行,系統自動刪除所有不符合條件的照片,剩下的即為需保留檔案。

⚠ 提醒:`del` 指令刪除的檔案不進資源回收筒,無法還原,執行前請確認備份或三思。

核心邏輯回顧

  • DIR /B /O:裸列檔名、排序輸出。
  • VLOOKUP 精確比對:第四參數 `0` 關鍵,找不到回傳 `#N/A`。
  • 批次檔自動化:將大量刪除指令集中執行,避免手動逐一確認。

此法不僅適用照片篩選,任何「依名單保留/刪除大量同名異檔」場景皆可套用。

Copyright © Windows教程網 All Rights Reserved