Scoprire se due file sono identici e qualora non lo fossero far emergere tutte le differenze esaminandone puntualmente il contenuto è un’operazione che in Windows si può eseguire utilizzando diverse strategie.
Proviamo a riassumerle a seconda che si abbia la necessità di confrontare due file di testo, documenti Word oppure Excel.
Uno sviluppatore ha spesso l’esigenza di confrontare file per capire quali righe di codice sono state aggiunte o rimosse, un professionista o un normale utente potrebbero dover paragonare lunghi elenchi (si pensi a liste di cartelle e file) per capire istantaneamente le differenze, esaminando una nuova bozza di un contratto ricevuta in formato Word si potrebbe voler far emergere subito cosa cambia da un documento all’altro, lavorando su progetti in formato Excel si potrebbero voler evidenziare i contenuti delle celle che cambiano tra un file e l’altro. Com’è possibile fare in ambiente Windows?
Come capire se due file sono identici in Windows senza usare software di terze parti
Gli algoritmi di hashing usano funzioni crittografiche che permettono, a partire da uno specifico “messaggio”, di calcolarne una sorta di impronta univoca. L’impronta o firma così elaborata risulterà unica per il messaggio preso in esame: ciò significa che non potrà essere prodotta la stessa firma per qualunque altro messaggio diverso da quello utilizzato.
L’hashing, inoltre, non è reversibile: la funzione che genera la firma, infatti, non può essere invertita quindi non è possibile (a meno di vulnerabilità insite nell’algoritmo) risalire al messaggio originale.
Calcolando l’hash di un file è possibile ottenere una firma che ne “riassume” il contenuto: se le firme di due file sono identiche significa che il contenuto dei file è uguale.
Come abbiamo spiegato nell’articolo Come calcolare hash di un file in Windows senza usare programmi aggiuntivi, in Windows è possibile calcolare l’hash SHA-256 (uno degli algoritmi più affidabili) usando la cmdlet PowerShell Get-FileHash
:
Il comando consente di calcolare e visualizzare l’hash SHA-256 del file C:\TEMP\file1.exe
.
Copiando l’hash e incollandolo su VirusTotal in questa casella è addirittura possibile conoscere l’esito delle precedenti scansioni antimalware dello stesso file (se già presente nel database di VirusTotal).
Per sapere se due file sono identici, si può digitare quanto segue (effettuando le opportune sostituzioni sui percorsi specificati):
Il confronto della firma SHA-256 può essere utilizzato per qualunque tipo di file, anche per i documenti, e non è quindi da considerarsi limitato ai soli eseguibili (formato .exe
).
Confrontare file di testo con Notepad++ e Total Commander
Gli utenti del popolare editor di testo Notepad++ possono usare il plugin Compare per confrontare il contenuto di due file.
Per procedere, è sufficiente assicurarsi di lasciare spuntata la casella Plugins Admin durante l’installazione di Notepad++ quindi cliccare sul menu Plugin, Gestione plugin, cercare il plugin Compare e installarlo.
Per avviare l’installazione del plugin Compare, basta selezionare la casella corrispondente quindi fare clic su Installa acconsentendo alla chiusura e al riavvio di Notepad++.
A questo punto si dovrà aprire il primo file in Notepad++ (File, Apri) quindi ripetere la procedura per il secondo.
Selezionando la scheda contenente il primo file, bisognerà quindi scegliere Plugin, Compare quindi Set as First to Compare.
Selezionando la seconda scheda di Notepad++ contenente l’altro file da confrontare, si dovrà scegliere Plugin, Compare quindi Compare: verranno immediatamente evidenziate tutte le eventuali differenze tra i due file.
Tante sono le possibili indicazioni restituite da Compare nelle schede di Notepad++:
– Aggiunto (+): La riga esiste solo nel nuovo file e non negli altri. Il colore di evidenziazione è verde.
– Rimosso (-): La riga non esiste nel nuovo file ed è invece presente solo negli altri. Il colore di evidenziazione è rosso.
– Spostati: La linea appare una volta nell’altro file e in un’altra posizione.
– Cambiata: La maggior parte della riga è identica in entrambi i file. Le modifiche sono evidenziate in arancione.
Cliccando su Plugin, Compare quindi su Settings si può accedere a un riassunto delle indicazioni cromatiche utilizzate.
Anche l’ottimo Total Commander consente di confrontare più file semplicemente cliccando su Files quindi su Compare By Content.
Se il contenuto dei due file confrontati fosse diverso, Total Commander aprirà una finestra nella quale vengono mostrate le differenze tra i due file, evidenziate in rosso.
Confrontare due documenti Word ed evidenziare le differenze
Microsoft Word include una comoda funzionalità per rilevare le differenze tra più documenti.
Per utilizzarla è sufficiente avviare Word quindi fare clic su Revisione, Confronta, Confronta.
Dopo aver scelto i documenti Word da confrontare (usare eventualmente le icone raffiguranti la piccola icona di una cartella) di default si otterrà un nuovo file con tutte le differenze opportunamente evidenziare.
Cliccando il pulsante Altro quindi scegliendo Documento originale o Documento revisionato, le modifiche saranno mostrate sul primo o sul secondo documento, senza crearne uno nuovo.
Per confrontare le differenze tra due documenti in formato Word con LibreOffice Writer, è sufficiente aprire un file DOC o DOCX (ma anche nei formati Open Document), cliccare su Modifica, Revisioni, Confronta documento quindi scegliere l’altro documento.
LibreOffice Writer metterà immediatamente in evidenza tutte le differenze rilevate tra un documento e l’altro. Cliccando su Gestisci le notifiche si può passare rapidamente a ciascuna differenza rilevata ed eventualmente applicare ulteriori interventi.
Confrontare le differenze tra documenti Excel
In Excel è possibile usare un semplice “giochetto” per far venire a galla tutte le differenze presenti in due fogli elettronici.
Il nostro consiglio è quello di aprire entrambi i documenti Excel quindi cliccare con il tasto destro sulla linguetta in basso corrispondente al foglio elettronico contenente i dati.
Con un clic su Sposta o copia, si dovrà indicare il nome dell’altro foglio elettronico aperto in Excel (agire sul contenuto del menu a tendina Nella cartella).
Premendo CTRL+MAIUSC+Fine
sul primo foglio si potranno selezionare tutte le celle quindi richiedere l’utilizzo della formattazione condizionale portandosi nel menu Home, Formattazione condizionale, Nuova regola.
Selezionando Utilizza una formula per determinare le celle da formattare quindi digitando =A1<>Dati!A1
, Excel confronterà il contenuto del foglio in corso di visualizzazione con quello chiamato “Dati” (sostituire il nome a seconda di quello utilizzato).
Tutte le differenze eventualmente presenti nel foglio elettronico verranno automaticamente rilevate ed evidenziate ricorrendo alla formattazione condizionale. È ovviamente fondamentale che la struttura dei due fogli di dati sia identica.