ByteScope

Duplicate File Finder

連子資料夾一起走過,先用大小篩,只對候選做雜湊,再由你決定留哪份、刪哪些——全在本機。也請記住:這裡的刪除是真的刪除。

資料夾是瀏覽器直接在你自己的電腦上開啟的。檔案在這裡被讀取來計算雜湊值,不會傳到任何地方——不上傳、不用帳號,伺服器上也不會留副本。

資料夾

選一個資料夾。裡面所有內容都會被掃描,包含子資料夾。檔案會先依大小分組,只有大小相同的檔案才會被讀取。

資料夾
檔案
0
待計算雜湊
0 · 0 B

瀏覽器支援度

要原地重新命名和刪除檔案,需要 File System Access API,目前只有 Chromium 系列瀏覽器支援。不管支不支援,下面的操作都在你自己的電腦上完成——絕不會上傳任何東西。

功能ChromeEdgeFirefoxSafari
從硬碟開啟資料夾window.showDirectoryPicker——Chrome/Edge 86 以上,僅限桌面版支援支援不支援不支援
原地重新命名檔案FileSystemFileHandle.move——Chrome/Edge 111 以上支援支援不支援不支援
原地刪除檔案FileSystemDirectoryHandle.removeEntry支援支援不支援不支援
記住資料夾供下次使用控制代碼會存在這台裝置的 IndexedDB 裡;權限每次還是要重新授權支援支援不支援不支援

在這個瀏覽器偵測到

  • window.showDirectoryPicker
  • FileSystemFileHandle.move
  • indexedDB

在 Firefox、Safari,或任何手機、平板上,這個頁面能說明怎麼做,但沒辦法實際執行。請用桌面版 Chrome 或 Edge 開啟。

關於這個工具

指一個資料夾給它,它會把裡面的東西連同子資料夾全部走過一遍,找出 byte 對 byte 完全一樣的複本。跑得快的訣竅是拒絕做白工:檔案先按大小分組,整棵樹裡大小獨一無二的檔案不可能是任何東西的重複,所以它的內容連讀都不會被讀。只有大小相同的檔案才會被雜湊——用串流的 SHA-256,一塊一塊算,4 GB 的影片也不會整支坐進記憶體。一般的照片庫裡,大多數檔案從頭到尾沒被雜湊過;掃描的大宗其實是讀目錄清單。

怎樣才算重複

兩個檔案要 SHA-256 摘要相同,才會被回報成重複——實務上就是內容到最後一個 byte 都一樣。這是刻意收窄的定義。這個工具不找「幾乎一樣」的照片:同一張圖的兩種解析度、同一張圖的 JPEG 版和 PNG 版、差一秒的兩格連拍,都不會被抓出來。找那些要靠 perceptual hashing(感知雜湊),是另一種技術、另一種出錯方式(它用猜的),這一版沒有。這裡回報的每一筆都是精確一致——正因如此,照著機械化處理才安全。

決定留下哪一份

重複的檔案分組列出,圖片附縮圖,你看得到自己在對什麼做決定。每一組裡挑出要活下來的那份——手動挑,或用規則:留最舊的、留最新的,或留路徑最短的;最短路徑通常代表待在原位的那份,而不是埋在 backup/backup2/misc 深處的那份。動手之前,你會看到將被刪除的檔案的精確清單,在你按下確認之前,什麼都不會被碰。

刪掉就是刪掉

這件事要在按確認之前弄清楚,不是之後:在這裡刪掉的檔案不會進資源回收筒,也不會進垃圾桶。File System Access API 是直接移除,這個工具沒有辦法把它們變回來——救援軟體也許撈得回一些,但那是賭運氣,不是計畫。保護做在流程裡:只認精確一致、明確的檢視清單、每組的保留規則、再加一道確認。把清單讀完。那是最後一個能救你的步驟。

常見問題

找重複的過程會上傳我的檔案嗎?

不會。走訪目錄、比大小、算 SHA-256、產生縮圖,全部都在你的瀏覽器裡進行——雜湊是把候選檔案一塊一塊餵進本機的 worker,byte 哪裡都不去。這一頁是背後沒有伺服器的靜態檔案,原理上連上傳的路徑都不存在;整趟掃描下來,Network 分頁一直是空的。這件事在這裡格外重要,因為你要整理重複的那個資料夾,往往就是什麼都放在裡面的那個。

它怎麼判斷兩個檔案一模一樣?

分兩關,而順序正是重點。先比大小,因為大小是免費的——目錄清單本來就附——而大小不同的檔案不可能一樣。只有大小相同的檔案,內容才會被讀出來算 SHA-256;同大小又同摘要,在任何實務意義上內容就是相同的。這個兩段式設計就是它又快又精確的原因:大多數檔案連被讀都沒被讀就出局了,而且沒有任何一筆重複是用猜的。

刪掉的檔案救得回來嗎?

救不回來。在這裡刪除的檔案不會被移到資源回收筒或垃圾桶——File System Access API 是直接刪除,這個工具裡沒有復原,作業系統平常那些地方也找不到它們。專門的救援軟體偶爾能撈回剛刪掉的資料,但那沒有任何保證。請把確認視窗當成最終決定看待,因為它就是:接受之前,把刪除清單讀完。

哪些瀏覽器可以用?

桌面版的 Chromium 系瀏覽器——Chrome、Edge,以及 Brave 這類衍生品。這份工作的兩頭都需要 File System Access API:挑資料夾並走訪它,以及刪掉你選定的複本。Firefox 和 Safari 沒有實作,所以在那些瀏覽器上,頁面會顯示誠實的支援說明,而不是一個做到一半做不完的工具。行動瀏覽器同樣因為這個原因不支援。

找得到「同一張照片的不同尺寸」這種相似圖嗎?

找不到——也不會假裝找得到。同一張照片輸出成兩種解析度,或同一張圖的 JPEG 版和 PNG 版,byte 不一樣,雜湊就不一樣,不會被回報。要找「看起來很像」的圖片得靠 perceptual hashing,那是在判斷相似度而不是同一性,兩個方向都可能出錯;這一版沒有收。只認精確一致的好處是,列出來的每一組都是板上釘釘——當下一步是刪除的時候,你要的正是這個。