Hallo, mein SD Kartenlogger hat aus mir noch unbegreiflichen Gründen den Logfiles Dateinamen mit Sonderzeichen verpasst. Was eigentlich "FILE0020.TXT heißen sollte heißt jetzt z.B. "FIL002.DT". Nun habe ich zwei Probleme: Erstens die Ursache dafür zu finden (das muß ich aus Zeitgründen erstmal hinten anstellen). Zweitens: Wie komme ich an die Daten in den Dateien mit den kryptischen Namen? Im Windows Explorer werden Sie (mit scheinbar korrekter Dateigröße) angezeigt. Sie lassen sich aber weder kopieren, umbenennen oder mit normalen Texteditor öffnen. Kann jemand helfen?
Ganz ohne Code wird das aber ein Rätselraten, meinste nicht?
nimm zum Öffnen/Umbennenen unter Windows halt ein anderes Programm, z.B. TotalCommander.
@Andreas Klepmeir: für mein "erstes" Problem hast Du ja recht, aber die Software habe ich auf einem anderen Rechner an den ich jetzt nicht rankomme. Deshalb versuche ich jetzt erst einmal, die "vrsauten" Dateien zu reten. @kurz (Gast): Der geht auch nicht, ich bekomme die Fehlermeldung "Die Sysntax für den Dateinamen, Verzeichnisnamen oder Datenträger ist falsch", was ja auch stimmt. Aber irgendwie muß man doch trotzdem an die Daten kommen.
Korrigier dein Program. Wenn schon der Dateiname nicht stimmt, ist kaum davon auszugehen, dass deine Daten korrekt sind.
@Karl heinz Buchegger: > Korrigier dein Program. Natürlich muß ich dass, aber eben auch versuchen, die schon vorhandenene Daten zu retten. > Wenn schon der Dateiname nicht stimmt, > ist kaum davon auszugehen, dass deine Daten korrekt sind. Das kann man doch so nicht sagen. Das Programm im µC des Loggers empfängt Daten und schreibt diese auf die SD Karte. Das funktioniert auch seit einiger Zeit reibungslos. Jetzt habe ich es aber erweitert, so daß nach einiger Zeit das Logfile geschlossen wird und eine neues (natürlich mit anderem Namen) erzeugt wird. Ich wollte damit vermeiden, daß wenn irgendetwas schief geht, alle Daten hinüber sind. Offensichtlich habe ich in der Routine die die neuen Dateinamen erzeugt, einen Fehler. Im Test lief alles gut, aber als ich jetzt "echte" Daten aufnahm gab es den genannten Fehler.
versuche über die Kommandozeile die Dateien umzubenennen. Falls das nicht klappt versuch es mit Linux. Dann könntest du noch eine WIN-DOS Bootdiskette versuchen, geht aber nur wenn auch das Bios dem Kartenleser als Platten bekannt gibt. Zuletzt könnte noch ein Scandisk oder fscheck helfen. Ich würde es in dieser Reihenfolge versuchen. viel Glück
Es gibt doch auch Hex-Editoren, mit denen man an die Sektoren direkt rannkommt. So einen besorgen, den Sektor mit dem Inhaltsverzeichnis suchen und dort die Filenamen auf Byteebene korrigieren.
>FIL002.DT
probiere mal im CMD-Fenster folgendes:
ren FIL?002?.D?T FILE0020.DAT
oder auch
ren FIL*.D* FILE0020.DAT
falls nur eine Datei mit den Wildcards angesprochen wird.
Die Fragezeichen ersetzten normalerweise ein beliebiges Zeichen. Mangels
solch kryptischer Filenamen auf meinem PC kann ich es aber nicht testen.
Ansonsten bleibt der Vorschlag von Karl heinz Buchegger.
Nachtrag für noch eine Chance: Hast schon mal mit Knoppix o.ä gebootet und es darüber versucht?
@HildeK: > ren FIL?002?.D?T FILE0020.DAT -> "Die Sysntax für den Dateinamen, Verzeichnisnamen oder Datenträger ist falsch". @Karl heinz Buchegger: > Hex-Editoren, mit denen man an die Sektoren direkt rannkommt. Danke. Habe die ganze Karte jetzt mit "Hex Editor Neo" geöffnet. Es sieht erstmal ganz gut aus. Ich finde schon mal die Einträge mit den kryptischen Dateinamen. Kann ich die jetzt einfach in "gültige" gleicher Länge ändern? Habe Angst daß ich noch mehr kaput mache.
Ralf schrieb: > Es sieht erstmal ganz gut aus. Ich finde schon mal die Einträge mit den > kryptischen Dateinamen. Kann ich die jetzt einfach in "gültige" gleicher > Länge ändern? Ja. > Habe Angst daß ich noch mehr kaput mache. Wenn nur der Name sonst nichts geändert wird, darf normalerweise nichts passieren. Mach aber am besten vorher eine Kopie der ganzen Karte.
Hallo, auch wenn es schon eine Weile her ist noch eine kleine Anmerkung zum schreiben von txt-Files. Ich hatte auch schon das Problem mit den Dateinamen, dass ließ sich relativ einfach beheben in dem man am Ende des Dateinamens \0 anfügt ( "Dateiname.txt\0", damit wird das Kommando beendet und nicht noch irgend welcher Müll der noch dahinter im Array liegt mitgelesen. Grüße Jan
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.