Detector de fișiere duplicate

Se trage un lot de fișiere aici, iar această pagină găsește cele al căror conținut este identic octet cu octet, în trei treceri: un filtru de dimensiune (fișierele de dimensiuni diferite nu pot fi niciodată duplicate), o grupare SHA-256 a celor rămași și o comparare finală completă a octeților, drept asigurare. Se obține fiecare grup de duplicate cu spațiul pe care îl risipește, căsuțe de bifat pentru copiile care s-ar șterge și o listă de verificare CSV de dus în managerul de fișiere. Două fișiere numite photo.jpg cu octeți diferiți nu sunt duplicate; două fișiere cu nume diferite și același conținut sunt. Nimic nu se încarcă.
Se trag fișierele aici, sau se face clic pentru a le alege
Până la 50 de fișiere, 200 MB fiecare. Fișierele rămân pe acest calculator.
Niciun fișier selectat.
Grupurile de fișiere identice apar aici după scanare. Primul fișier din fiecare grup este marcat în prealabil drept copia de păstrat.
O pagină de browser nu poate șterge fișierele — și nici nu trebuie. Lista de verificare exportată (nume, dimensiune, SHA-256, identificatorul grupului) este destinată aplicării în Explorer, Finder sau managerul de fișiere ales, unde ștergerile sunt vizibile și reversibile. Confidențialitate: întreaga scanare rulează local; niciun fișier și niciun rezumat nu părăsesc această filă.

Ce este un fișier duplicat?

Un duplicat adevărat este un fișier al cărui fiecare octet este egal cu octeții unui alt fișier. Nu „același nume” (copy.jpg din două camere sunt fotografii diferite), nu „aceeași dimensiune” (un milion de fișiere au 1.024 de octeți), nu „arată la fel” (un JPEG salvat din nou este un alt flux de octeți). Contează doar egalitatea conținutului — motiv pentru care scanarea este imună la copii redenumite, copii cu altă dată și fișiere împrăștiate în foldere diferite.

Cum funcționează cele trei treceri

TrecereComparăCostDe ce
1 — dimensiunedimensiunea fișierului în octețiinstant (metadate)o dimensiune diferită nu poate fi niciodată identică; elimină de obicei majoritatea fișierelor fără nicio citire
2 — SHA-256rezumat al conținutului întrego citire per supraviețuitoracelași rezumat pentru conținut diferit este imposibil de realizat computațional
3 — octețiocteții efectivio citire suplimentară per perecheasigurare: dovedește egalitatea fără să se bazeze deloc pe hash

Trecerea preliminară după dimensiune nu este o rafinare opțională — ea face ca compararea conținutului să fie accesibilă. Un dosar cu 5.000 de fotografii poate conține 50 de grupuri, dar doar câteva sute de fișiere ajung vreodată la etapa de hashing.

Ce nu face intenționat

Nu caută aproape-duplicate: aceeași fotografie la două rezoluții sau două niveluri de calitate are octeți diferiți și nu este semnalată — această problemă necesită hashing perceptual al imaginilor, care este un alt instrument. Nu șterge: o pagină web care șterge fișiere de pe discul utilizatorului ar fi o eroare de securitate, nu o funcție; în schimb se primește lista de verificare. Nu folosește cloud: nimic nu se încarcă, ceea ce înseamnă și că nimic nu poate fi scanat fără ca fișierele să fie citite.

Întrebări frecvente

De ce primul fișier este marcat „păstrează”? — un fișier din grup trebuie să supraviețuiască; primul după ordinea selecției este o alegere deterministă și banală. Se schimbă orice căsuță înainte de exportarea listei de verificare.
Ce înseamnă „spațiu risipit”? — dimensiunea fiecărei copii dincolo de prima din grupul ei, însumată pe toate grupurile: octeții pe care i-ai recupera ștergând surplusul.
Poate SHA-256 să greșească? — nu în practică: o coliziune ar necesita o pereche proiectată deliberat și nu s-a întâmplat niciodată pentru SHA-256. Trecerea a treia elimină chiar și această îndoială teoretică.