Come verificare la presenza di file danneggiati in una libreria fotografica consolidata
Per controllare una libreria fotografica consolidata, scansiona ogni immagine con un decoder che legga i dati dell'immagine, salva un report dei file che falliscono o generano avvisi, quindi controlla tali file singolarmente prima di sostituire o ripristinare qualsiasi elemento. Un rapido controllo delle miniature o delle dimensioni dei file può individuare problemi evidenti, ma non può garantire che l'intera immagine sia leggibile. Questa procedura utilizza magick identify di ImageMagick ed è pensata per una libreria archiviata su un'unità locale o montata.
Cosa può — e cosa non può — dirti un controllo del danneggiamento
Un file può avere un'estensione comune e dimensioni verosimili, eppure contenere dati di immagine troncati o danneggiati. Al contrario, un file che si apre in un visualizzatore potrebbe comunque generare avvisi o bloccarsi in un altro decoder. Una scansione registra il modo in cui un singolo strumento legge un file; non dimostra che ogni pixel sia visivamente corretto né che tutte le applicazioni interpreteranno il file allo stesso modo.
Il comando magick identify di ImageMagick segnala le caratteristiche dell'immagine ed è in grado di rilevare file incompleti o corrotti. Per un controllo significativo, usa +ping per richiedere una lettura completa: ImageMagick specifica che la sua modalità ping predefinita legge solo le informazioni necessarie per l'identificazione di base e potrebbe evitare di leggere l'intera immagine. Aggiungi -regard-warnings affinché gli avvisi influiscano sullo stato di uscita del comando. Documentazione di ImageMagick Identify, Uso di base di ImageMagick
Considera il risultato come un triage. Un avviso segnalato merita una verifica; di per sé, non è una prova inconfutabile che la foto sia inutilizzabile. Una scansione senza errori indica che il decoder ha completato l'operazione senza riscontrare anomalie, non che l'immagine sia visivamente corretta o che tutti i dettagli specifici del formato di file siano validi.
Preparare la libreria prima della scansione
Inizia con una copia stabile o un backup. Non eseguire riparazioni o conversioni sull'unica copia di un file: alcuni tentativi di ripristino possono alterare i dati, mentre una scrittura interrotta può peggiorare un file già danneggiato. Se la libreria consolidata si estende su più unità o cartelle, annota ogni directory principale che intendi includere.
Chiudi i software che stanno attivamente importando, modificando o sincronizzando la raccolta. Ciò riduce la probabilità che un file cambi durante la scansione. Verifica che le unità montate siano accessibili e che l'account che esegue la scansione disponga dei permessi di lettura. Un errore di autorizzazione o un volume disconnesso devono essere considerati come un'area non scansionata, non come un risultato privo di problemi.
Installa ImageMagick dalla distribuzione ufficiale per il tuo sistema operativo, quindi verifica che il comando magick sia disponibile da terminale. Provalo prima su alcune immagini sicuramente integre. La sintassi del comando di ImageMagick fa riferimento alla versione 7; le installazioni precedenti potrebbero utilizzare nomi di comando differenti. Non considerare un errore di comando non trovato o di formato non supportato come una prova del danneggiamento di un file.
Eseguire una scansione completa e salvare il report
Su macOS o Linux, Bash può scorrere una libreria in modo ricorsivo e salvare errori e avvisi in un log separato. Sostituisci /path/to/photo-library e il percorso del report con le tue posizioni effettive. Salva il report al di fuori della libreria scansionata, in modo che la procedura non lo analizzi come se fosse un'immagine.
: > "$HOME/photo-scan-errors.log"
find "/path/to/photo-library" -type f -print0 |
while IFS= read -r -d '' file; do
if ! magick identify +ping -regard-warnings "$file" >/dev/null 2>>"$HOME/photo-scan-errors.log"; then
printf '%s\n' "$file"
fi
done
Il terminale mostrerà i percorsi dei file il cui controllo ha restituito un errore; il log registrerà i messaggi di diagnostica di ImageMagick. Il ciclo include ogni file, quindi anche i file non di immagine potrebbero essere segnalati come formati non riconosciuti. È normale se la libreria contiene file collaterali (sidecar), documenti o altri contenuti non grafici. Per un archivio misto, distingui i messaggi di "formato sconosciuto" dagli errori di decodifica effettivi e, se necessario, limita la scansione alle estensioni di immagine note. Il filtro per estensione, tuttavia, potrebbe ignorare immagini con nomi privi di estensione o con estensioni insolite.
Se il log è vuoto e nessun percorso è stato stampato a video, l'esecuzione non ha prodotto messaggi di diagnostica né errori durante il controllo del decoder. Verifica che il percorso radice sia corretto e che la scansione sia effettivamente terminata; un report vuoto dovuto a un errore di battitura, a un'unità inaccessibile o a un comando interrotto non equivale a un controllo superato. Per librerie molto grandi, elabora una cartella o un'unità alla volta e assegna un'etichetta chiara a ciascun report per sapere esattamente cosa è stato controllato.
Esaminare i file contrassegnati in sicurezza
Utilizza il percorso visualizzato per individuare il file originale, quindi esegui il controllo esclusivamente su quel file per ottenere una diagnostica più chiara: magick identify +ping -regard-warnings "/full/path/to/file.jpg". Annota il messaggio e confrontalo con il comportamento di un secondo visualizzatore o programma di fotoritocco. Verifica se il file viene visualizzato per intero, solo parzialmente o per nulla. Tieni presente che un'applicazione potrebbe mostrare un'anteprima incorporata anche se i dati dell'immagine principale sono danneggiati.
Distingui tre casi nelle tue note: un file che non si decodifica, uno che si decodifica con un avviso e uno che si decodifica ma appare inaspettatamente incompleto o visivamente corrotto. In questo modo la verifica successiva sarà più mirata rispetto a trattare ogni avviso allo stesso modo. I formati multifotogramma come GIF o TIFF possono contenere più immagini in un unico file; esamina i fotogrammi o le pagine interessati se il problema si manifesta solo dopo il primo.
Scegliere una procedura di recupero senza sovrascrivere l'origine
Se esiste un'altra copia, confrontala prima di tentare la riparazione. L'hash di un file può dirti se due copie hanno esattamente lo stesso contenuto: la documentazione Microsoft specifica che hash identici identificano file con contenuti identici, mentre nomi o estensioni differenti non influiscono sull'hash. Ad esempio, il comando Get-FileHash di PowerShell utilizza SHA-256 per impostazione predefinita. Microsoft Learn: Get-FileHash
Hash corrispondenti dimostrano che due copie sono identiche byte per byte; non garantiscono però che una delle due copie sia integra. Se entrambe le copie falliscono allo stesso modo, cerca un altro backup o una sorgente originale. Se una supera il test e l'altra fallisce, conserva la copia funzionante e sostituisci quella danneggiata solo dopo aver verificato che i file corrispondano effettivamente alla stessa foto voluta. Conserva il file originale segnalato finché la sostituzione non è stata verificata.
Se non è disponibile alcuna copia integra, crea un duplicato separato del file segnalato prima di provare uno strumento di ripristino specifico per il formato. Ricontrolla da zero qualsiasi file recuperato, aprilo in un visualizzatore e confronta dimensioni o altre caratteristiche attese. ExifTool precisa di non essere progettato come validatore di immagini; i suoi controlli con -validate offrono verifiche aggiuntive principalmente per JPEG e TIFF, pertanto è consigliabile usarlo come diagnostica supplementare anziché come test universale di conformità. FAQ di ExifTool: Can ExifTool be used as an image validator?
Verificare la copertura e tenere un registro utile
Prima di considerare conclusa la verifica, controlla che ogni cartella prevista sia stata inclusa, che la scansione sia arrivata al termine e che il report sia stato salvato. Esamina i messaggi che indicano un'unità illeggibile, problemi di permessi, formati non supportati o decoder mancanti separatamente dai reali errori di lettura delle immagini. Esegui nuovamente il controllo sui file ripristinati e ispeziona a campione la raccolta con un visualizzatore di immagini, prestando particolare attenzione agli elementi contrassegnati e ai file multifotogramma.
Conserva la data della scansione, la versione di ImageMagick, le cartelle scansionate e il registro degli errori insieme alle tue note di manutenzione. Tale storico rende confrontabile una scansione futura e aiuta a distinguere un vecchio avviso da un nuovo problema di lettura. Un controllo accurato unisce la lettura completa del decoder, l'ispezione visiva mirata e la verifica di eventuali copie sostitutive; nessun singolo comando può effettuare queste valutazioni al posto tuo.
