Gibt es ein Dienstprogramm zum Vergleichen von Dateiinhalten mit der Erweiterung?

Gibt es ein Dienstprogramm zum Vergleichen von Dateiinhalten mit der Erweiterung?

Ich suche nach einem Dienstprogramm (entweder für Linux oder Windows), mit dem überprüft werden kann, ob der Dateiinhalt mit der Erweiterung übereinstimmt. Dies dient zum Aufspüren stark beschädigter Dateien.

Ich bin kurz davor, ein kleines Bash-Skript zu schreiben, das einfach „file“ für alles ausführt, aber ich möchte nicht herausfinden, was „file“ für alle richtig formatierten Dateitypen zurückgibt, auf die ich stoße.

Hintergrund: Ein Freund hat kürzlich versehentlich seinen Windows-Benutzerordner gelöscht (ja, Desktop, Registrierung, Eigene Dokumente, das ganze Zeug...). Ich habe ein aggressives Unerase-Dienstprogramm verwendet, um so viel wie möglich wiederherzustellen. Dieses spezielle Dienstprogramm stellt aus irgendeinem Grund mehrere Kopien derselben Datei wieder her (z. B. „Letter.doc“, „Letter(1).doc“, „Letter(2).doc“ usw.). Einige dieser Dateien enthalten zufälligen Müll, einige sind gültige Dokumente und viele davon sind dieDasselbedokumentieren.

Ich habe also fdupes und ein Perl-Skript verwendet, um alle Duplikate zu löschen, aber jetzt möchte ich die Duplikate, die aussehen, als könnten sie die Originaldatei sein, von denen trennen, die es wahrscheinlich nicht sind. Ich kann nicht glauben, dass ich die erste Person bin, die das tun muss ...

Antwort1

Sie können versuchen,TrIDNetProgramm (es gibt auch einBefehlszeilenschnittstelle (CLI)und einonlineVersion). Es identifiziert Dateien anhand von Binärsignaturen, basierend auf einer integrierten (und erweiterbaren) Bibliothek. Hier ist eine Listeder Dateierweiterungen, die es standardmäßig identifizieren kann, obwohl es möglich ist, manuell eine Definition für einen neuen Typ hinzuzufügen.

Beachten Sie, dass, wenn die binäre Signatur der Dateinichtintakt beschädigt ist, erkennt die Software nicht, dass die Datei beschädigt ist. Es liegt an der Implementierung der Anwendung, die die Datei verwendet, um auf Beschädigungen zu prüfen (da es keine Möglichkeit gibt, „einfach zu wissen“, ob eine Datei beschädigt ist).

Dies ist einfach die Funktionsweise von Dateien. Es obliegt dem Programm, das die besagten Binärdateien verwendet, zu prüfen, ob sie beschädigt sind oder nicht (einige Dateitypen speichern Prüfsummen).

Antwort2

Für Office-Apps gibt es im Öffnen-Dialog die Option „Öffnen und reparieren …“.

Für Bilder kann IrfanView Dateikopfzeilen rekonstruieren.

Für Videos macht der VLC Player dasselbe.

Wie EBGreen oben jedoch sagte, ist es höchst unwahrscheinlich, dass es ein Produkt auf Verbraucherebene gibt, das dies tatsächlich für viele Dateitypen tut, geschweige denn für alle Dateitypen.

verwandte Informationen