![]() |
Dateien auf korrekte Daten überprüfen
Moin,
ich wollt mal gern fragen, ob hier jemand gute Möglichkeiten kennt (entwerder schon vorhandene Codes/Programme, oder Ideen wie man es machen könnte), womit/wie man verschiedenste Dateitypen auf intakte Dateiinhalte prüfen kann. Delphilösungen (Win32), oder welche die man in ein Delphiprogramm einbinden kann würden mir am besten gefallen. Grund ... hab hier mehrere Dateien (nach Datenrettung auf verschiedene Varianten/Optionen), welche unterschiedliche Bytes (Defekte) enthalten, obwohl die eigentlich gleich sein sollten. Bei den meißten gepackten Archiven ist das ja oftmals recht einfach, aber anderesseits sagen viele Programme nichts, wenn die Dateien "defekt" sind und versuchen es so gut wie möglich anzuzeigen/zu verarbeiten. Außerdem könnnten ja auch nur Daten hinten angehängt sein, so das die Datei O, wirkt, aber dennoch "defekt" ist. Bilder werden sind z.B. untern total schwarz (Dateiende abgeschnitten), oder haben fehlerhafte Zeilen (defekte Sektoren) aber bemerken tut man es nur, wenn man überall reinguckt, was ja nicht immer wenig aufwand ist. Oder mp3's, mpeg's ... hab hier einige, die unterscheiden sich in bis zu 'nem MB, obwohl sie rein optisch/akustisch gleich aussehn/klingen (das Viedeo hat aber auch schon durch die kompression einige Bildfehler ... es fallen also Neue nicht so schnell auf). Es hier kommen auch schon mal total falsche Inhalte vor ... z.B. ein .jpeg und drin is 'ne EXE (da hatte aber der Vierenscanner schon gemekert) ... aber z.B. .pas mit irgendwas anderem drin is ja och möglich ... u.s.w. Gesucht sind also Möglichkeiten die Ist-Zustände mit den Sollzuständen zu vergleichen. 's würde mir erstmal die Entscheidung, was ich hier löschen darf sehr erleichtern (auch wenn man im Moment keinen Unterschied sieht, will ich dennoch nur die intackteren Dateien behalten) und dann wäre es auch mal was ganz praktisches für ein Datenrettungs/-prüfprogramm :) ein hoffnungsvoll wartender himi ^^ |
Re: Dateien auf korrekte Daten überprüfen
Am besten du erstellst für alle Dateien Prüfsummen speicherst diese und vergleichst sie regelmäßig mit dem aktuellen Stand.
|
Re: Dateien auf korrekte Daten überprüfen
|
Re: Dateien auf korrekte Daten überprüfen
Das Problem ist ja nicht die Dateien zu vergleichen ... ich weiß ja, daß sie unterschiedlich sind, also werd ich sie wohl bestimmt schon verglichen haben :zwinker:
Ich möchte wissen ob ihr Inhalt OK ist ... denn wenn die Dateien unterschiedlich sind, dann ist ja mindestens eine davon defekt, aber welche. Es könnten ja auch beide futsch sein und wenn man dann Glück hat und weiß was fehlerhaft ist, dann könnte man ja vielleicht sogar aus beiden teilweise defekten Dateien eine Ganze machen :) [add] Bilddateien z.B.: man könnte die ja in eine entsprechende Komponente laden und wenn sie defekt sind, dann gibt's halt 'nen Fehler ... da wüßte man zwar schonmal, daß dieses Bild entweder keines ist, oder es ist halt zu (weil ja auch teilweise defekte Bilder erfolgreich geladen werden ... nur halt mit "Pixelfehler") defekt. |
Re: Dateien auf korrekte Daten überprüfen
Hi Himitsu,
vielleicht solltest du für dein Problem ein Dateisystem entwickeln, das deine Anforderungen erfüllt. Schreib- und Lesevorgänge müssen auf Konsistenz überpüft werden, da hilft es aus meiner Sicht auch nicht an "defekten Daten" herumzudoktern. ![]() ![]() |
Re: Dateien auf korrekte Daten überprüfen
das wäre dann wohl etwas weit ausgeholt, nur weil FAT und NTFS aus verschiedenen Gründen mal 'nen Fehler hat, gleich ein neues FS (mit nochmehr Overhead) zu entwickeln ^^
(die Dateien sind ja jetzt auf 'ner intakten Partition) Ich möchte ja nur vorhandene Daten dahingehend prüfen können, ob die OK sind ... also z.B. ob in einer .jpeg-Datei wirklich ein JPeg drin ist und ob dieses auch intakt ist. Und wenn nicht wie groß, oder was der Fehler ist. |
Re: Dateien auf korrekte Daten überprüfen
Schon mal vorneweg: Ich hab eigentlich keine Ahnung... :wink:
Möglichkeit für ASCII-Dateien: Es dürfen nur bestimmte Zeichen vorkommen(welche, sollten klar sein) Möglichkeit für JPEG-Dateien: Header suchen(wie der aussieht steht bestimmt irgendwo(RFC, Wiki, google, ...)), vergleichen; Inhalt(größe) mit Header vergleichen Auf jeden Fall wirst du für jedes Format ne neue Routine schreiben müssen und die wird in den wenigsten Fällen 100%ig sagen können, ob die Datei nun defekt ist, oder nicht. Propietäre Formate und Binaries machen natürlich noch mehr Probleme... mfg Christian |
Re: Dateien auf korrekte Daten überprüfen
Was du vorhast geht nicht, nicht ohne dass in jeder Datei eine Prüfsumme steht. Das ist genauso, als wenn du einen Schreibfehler in einem Text finden wolltest, dessen Sprache du aber nicht kennst und verstehst.
|
Re: Dateien auf korrekte Daten überprüfen
OK, in 'nem BitMap könnte man defekte Pixel nicht finden, aber in den ganzen komprimierten Sachen sollte es doch möglich sein?
Schließlich dürfte es dort ja zu größeren und kleineren Dekomprimierungsfehlern kommen? Und die aufwendigeren Dokumente (Word/Excel und Co) sollten doch auch merken können, ob da irgendwo was nicht stimmt? Ich zitiere (fast) mal den WMP "Unerwartete Zeichenfolge entdeckt ... Datei konnte nicht geöffnet werden". |
Re: Dateien auf korrekte Daten überprüfen
hi,
man könnte natürlich den Header jeder Datei auslesen und dann den Typ bestimmen. Es sollte ja möglich sein zu prüfen, ob der Header dann wenigstens stimmt, und wird nicht in fast jeder Datei, wie JPEG oder MP3, auch eine Prüfsumme im Header angegeben ? mfg, stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz