Perché l'abbinamento per nome e dimensione trova i file sbagliati
L'abbinamento per nome fallisce in entrambe le direzioni. La stessa foto salvata due volte diventa IMG_4021.jpg e IMG_4021 (1).jpg — nomi diversi, byte identici — mentre due documenti senza nessuna relazione possono chiamarsi entrambi fattura.pdf. Aggiungi la dimensione e le corrispondenze false calano, ma non spariscono: due JPEG diversi della stessa fotocamera finiscono spesso a pochi byte di distanza l'uno dall'altro, e un mucchio di piccoli file di configurazione hanno per puro caso esattamente la stessa dimensione.
La direzione che conta davvero per la sicurezza è il falso positivo: uno strumento che dichiara duplicati due file che si somigliano soltanto finirà prima o poi per cancellare qualcosa di insostituibile. È anche il motivo per cui l'abbinamento di «immagini simili» merita sospetto in tutto ciò che è automatizzato. È genuinamente utile per smistare a mano una raccolta di foto, ma una raffica di dieci scatti quasi identici sono dieci fotografie diverse, non nove duplicati, e nessun algoritmo sa in quale fotogramma gli occhi sono aperti.
L'unica definizione che regge è l'identità byte per byte. Due file sono duplicati se il loro contenuto è identico, a prescindere da nome, cartella, data o estensione. È una domanda a cui un hash risponde, e risponde sempre allo stesso modo.
Come funziona l'hash del contenuto, e perché è veloce
Un hash crittografico riduce qualunque file a un'impronta a lunghezza fissa — 64 caratteri esadecimali per SHA-256. Contenuti identici producono sempre impronte identiche, e a fini pratici due file diversi non collidono mai. Confrontare le impronte è quindi un sostituto affidabile del confronto tra file interi, e permette di mettere a confronto migliaia di file tra loro invece che a coppie.
Fare l'hash di tutto vorrebbe dire leggere ogni byte del disco, quindi un'implementazione competente procede a stadi. Prima raggruppa i file per dimensione esatta, perché file di dimensioni diverse non possono essere identici, e quel passo da solo elimina la stragrande maggioranza dei candidati senza leggere nessun contenuto. Poi calcola l'hash solo di un piccolo prefisso dei file rimasti in gruppi con più elementi. Solo i superstiti di quel giro ricevono uno SHA-256 completo. Su un disco tipico, la fase di lettura integrale finisce per toccare una frazione minima dei dati.
Questa organizzazione a stadi spiega come dovrebbe sembrare una scansione. Una prima passata su qualche centinaio di migliaia di file è per lo più lavoro sui metadati e finisce in minuti; la parte lenta è l'hash finale dei file video grandi che condividono davvero una dimensione. Se uno strumento impiega ore e inchioda il disco sostenendo di confrontare per contenuto, probabilmente sta facendo l'hash di tutto senza distinzione.
Farlo a mano con PowerShell
Per un controllo mirato non serve nessun software. Questa riga unica raggruppa i file per lunghezza, scarta le dimensioni uniche, calcola l'hash SHA-256 del resto e stampa solo i gruppi in cui più di un file condivide un hash. Puntala su una cartella specifica — un intero disco funziona, ma ci vuole tempo.
- Get-ChildItem -Path 'C:\Users\Tu\Immagini' -Recurse -File | Group-Object Length | Where-Object { $_.Count -gt 1 } | ForEach-Object { $_.Group } | Get-FileHash -Algorithm SHA256 | Group-Object Hash | Where-Object { $_.Count -gt 1 } | ForEach-Object { $_.Group.Path }
- Aggiungi -Filter '*.jpg' a Get-ChildItem per limitarla a un solo tipo di file
- Aggiungi | Out-File C:\Temp\dupes.txt in coda per salvare la lista da rivedere
- Eseguila in Windows Terminal o PowerShell; per le tue cartelle non servono diritti di amministratore
- Usa invece Get-FileHash -Algorithm SHA1 se devi fare l'hash di una videoteca molto grande e vuoi più velocità
Leggi l'output prima di eliminare qualsiasi cosa
Il comando qui sopra stampa deliberatamente percorsi e non elimina nulla. Quella separazione è tutto il modello di sicurezza: genera una lista, leggila, poi agisci. Ordina l'output per cartella e il disegno si vede subito — una cartella di importazione dalla fotocamera duplicata in una cartella di backup datata, un progetto esportato due volte, una libreria musicale che esiste sia in Musica sia in una vecchia copia da disco esterno incollata su C:.
Quando elimini, fallo mandando nel Cestino invece che in modo permanente, e a piccoli lotti, con una pausa per usare la macchina normalmente in mezzo. Il modo in cui la pulizia dei duplicati va storta non è mai un singolo file sbagliato; è una selezione di massa fatta con troppa sicurezza attraverso cartelle la cui relazione non avevi capito. Tenere il Cestino nel circuito trasforma un errore costoso in un inconveniente.
Dove si accumulano davvero i duplicati
I duplicati veri si concentrano in un pugno di posti prevedibili, e scansionare solo quelli è insieme più veloce e molto più sicuro che scansionare C: per intero. Download è il campione: lo stesso installer o PDF scaricato tre volte, ciascuno con un suffisso numerato. Le cartelle foto vengono subito dopo, di solito perché un'importazione dal telefono è girata due volte o una scheda è stata copiata prima e dopo una rinominazione.
- Download — download ripetuti con suffissi (1), (2)
- Immagini e cartelle di importazione dal telefono — un'importazione eseguita più di una volta
- Cartelle cloud — copie in conflitto di OneDrive e Dropbox con il nome del dispositivo in coda
- Desktop e cartelle «vecchio desktop» rimaste da una reinstallazione di Windows
- Cartelle media di Messenger — la stessa immagine salvata da diverse chat
- Cartelle di esportazione dei progetti — render e build esportati più volte
- Un vecchio disco esterno copiato per intero in una cartella su C:
Cosa non si deve mai deduplicare
Il contenuto duplicato dentro le installazioni software è normale e intenzionale. Molte applicazioni distribuiscono la stessa libreria runtime in più cartelle apposta, così ciascuna carica la versione su cui è stata testata; eliminare una copia perché ne esiste un'altra identica è il modo di ritrovarti un'applicazione che parte bene e poi fallisce su una funzione specifica mesi dopo. Vale la stessa logica per i pacchetti di asset dei giochi e per le cartelle di sviluppo, dove dipendenze identiche compaiono in molte sottocartelle di progetto.
Windows stesso è il filo più tagliente. C:\Windows\WinSxS è pieno di file che sembrano duplicati ma sono hard link che puntano agli stessi dati sul disco, quindi uno scanner ingenuo riporta gigabyte di «duplicati» che non liberano nulla quando li cancelli e rompono la manutenzione quando lo fanno. Limita ogni scansione di duplicati alle tue cartelle di dati, e considera uno strumento che si offre di scansionare le cartelle di sistema una buona ragione per cambiare strumento.
- C:\Windows e tutto ciò che sta sotto, WinSxS sopra ogni cosa
- C:\Program Files e C:\Program Files (x86)
- %APPDATA% e %LOCALAPPDATA% — stato delle applicazioni e profili
- C:\ProgramData — licenze e database delle applicazioni
- Cartelle di installazione dei giochi e directory dei contenuti dei launcher
- Cartelle di sviluppo: node_modules, vendor, ambienti virtuali, output di build
- Qualunque cosa su un disco di cui non sei l'unico utente
Scegliere quale copia sopravvive, e le trappole
Una volta confermata l'identità di un gruppo, la copia che sopravvive dovrebbe essere quella nel posto dove cercheresti per primo, che di solito è la cartella originale e non il backup, la copia in Download o quella sul Desktop. Preferisci il percorso col nome più corto e più sensato. Se una copia sta in una cartella cloud sincronizzata e l'altra no, tieni quella sincronizzata solo se quella cartella è davvero il tuo posto di lavoro — altrimenti stai consegnando la tua unica copia a un servizio la cui sincronizzazione potresti poi azzerare.
Tre trappole meritano un nome. I file con hard link compaiono come percorsi separati che condividono gli stessi dati, quindi cancellarne uno non libera nulla e l'altro continua a funzionare — innocuo, ma fonte di confusione quando i risparmi annunciati non si materializzano. I file segnaposto del cloud, sotto la funzione File su richiesta di OneDrive, potrebbero non essere presenti in locale, e farne l'hash forza lo scaricamento dell'intera cartella. E i file dentro una cartella gestita da qualcos'altro — un set di backup, un repository, una libreria di giochi — sono duplicati solo dal punto di vista del file system: il programma che li possiede li aspetta entrambi.
Per una versione ripetibile di questo flusso, il cerca-duplicati di Kleaner PRO confronta via SHA-256 invece che per nome, esclude per impostazione predefinita le cartelle di sistema e dei programmi, raggruppa le corrispondenze con i percorsi completi e ti fa scegliere quale copia tenere prima che qualcosa venga rimosso. La via PowerShell qui sopra fa lo stesso lavoro per una singola cartella, ed è lo strumento giusto quando vuoi controllare un solo posto.
Domande e risposte
È sicuro eliminare automaticamente i file duplicati?
No nelle cartelle di sistema o dei programmi, dove file identici sono spesso intenzionali o hard link. Nei tuoi documenti, foto e download è sicuro, purché lo strumento abbia abbinato per hash del contenuto e tu elimini mandando nel Cestino.
Possono due file diversi avere lo stesso hash SHA-256?
Non in alcun senso pratico — nessuna collisione SHA-256 è mai stata prodotta. È proprio per questo che la deduplicazione usa gli hash invece del confronto di nomi, dimensioni o date.
Perché eliminare i duplicati libera meno spazio di quanto annunciato?
Di solito sono hard link: diversi percorsi che puntano a un'unica copia dei dati, quindi rimuovere un percorso non libera nulla. Anche i file segnaposto del cloud possono essere contati a dimensione piena pur occupando quasi nulla in locale.
Le foto simili sono foto duplicate?
No. L'abbinamento per somiglianza confronta l'aspetto, quindi una raffica di scatti quasi identici sembra un duplicato mentre sono dieci fotografie distinte. Usalo per rivedere a mano, mai per eliminare in massa.
Scopri cosa include la licenza prima dell'acquisto.
La prova singola di 30 minuti include gli strumenti essenziali. Le funzioni PRO restano bloccate finché non attivi una licenza a pagamento.
Da leggere dopo
Scrivici: [email protected]