Umbenennen eines ungültigen Dateinamens in NTFS

9

Kürzlich habe ich meine Flash-Disk an einen meiner Freunde ausgeliehen, der Mac OS hatte. Er kopierte eine Datei darauf, deren Name einen Backslash (\) enthielt.

Die Flash-Disk ist NTFS-formatiert. Windows lässt solche Dateinamen nicht zu und öffnet die Datei weder, löscht sie noch lässt ich die Datei löschen.

Es gibt naive Ansätze für dieses Problem, wie:

  • Formatieren der Flash-Disk;
  • Gib es meinem Freund zurück und bitte ihn, es umzubenennen.
  • Laden in ein Live-Linux und Umbenennen.

Ich suche jedoch etwas Klügeres, wie ein Programm, das unter Windows den Trick kann.

PS: Es gibt ein Tool namens NTFSWalker, das die MFT-Datensätze des NTFS durchsuchen kann, jedoch keine Änderungen daran vornehmen kann.

MS Dousti
quelle
2
Hier erfahren Sie, wie Sie Windows XP zwingen, eine Datei mit einem Sonderzeichen umzubenennen. Eine nützliche Lektüre - die einzige wirkliche Antwort war die Verwendung von Linux.
DMA57361
Versuchen Sie, die Festplatte zu überprüfen. (Klicken Sie mit der rechten Maustaste auf das Festplattensymbol → Eigenschaften → Extras → Klicken Sie unter Fehlerprüfung auf Jetzt prüfen → Aktivieren Sie Dateisystemfehler automatisch beheben.) Dies war einer der Vorschläge in der oben verlinkten Frage, wurde jedoch nie versucht.
Bavi_H
@Bavi_H: Sorry, Check Disk hat auch nicht funktioniert.
MS Dousti

Antworten:

5

Alle Win32-APIs verwenden den Backslash als Verzeichnistrennzeichen. Es besteht eine geringe Wahrscheinlichkeit, dass das POSIX-Subsystem es als Teil des Dateinamens akzeptiert, sodass Sie es mvbei Services for Unix versuchen können .


Ich würde nicht sagen, dass die Verwendung von Linux zum Reparieren "naiv" ist, wenn Unix es überhaupt kaputt gemacht hätte.

user1686
quelle
Ich habe es mvvorher versucht . Es hat nicht funktioniert.
MS Dousti
Über "naiv": Ich meinte eine Lösung, die mir zuerst einfällt.
MS Dousti
@Adeq: Worüber sprichst mvdu?
Benutzer1686
2
@Adeq: Beide sind einfache Win32-Programme. Ich habe Services for Unix aus einem bestimmten Grund ausdrücklich erwähnt - seine Programme werden in einem separaten "POSIX" -Subsystem mit anderen Regeln als die von Win32 ausgeführt.
user1686
1
Das POSIX-Subsystem verwendet auch NtOpenFilezum Öffnen von Dateien und NtOpenFilebehandelt den Pfad als Ganzes, nicht als eine Reihe von Komponenten (es gibt ein Flag für die Verwendung der "POSIX" -Semantik, dies gilt jedoch nur für die Groß- und Kleinschreibung). Daher werden dieselben Regeln befolgt.
user541686
3

Ich habe festgestellt, dass 7zip häufig mit seltsamen Dateien umgehen kann, wenn Windows ausfällt (nützlich für Pfade, die zu lang sind, um normal gelöscht zu werden) - geben Sie dies beim Versuch an.

Dentrasi
quelle
Es tut uns leid. 7zgibt den gleichen Fehler wie Windows.
MS Dousti
Funktioniert auch nicht für mich
Mark Jeronimus
2
7z hat etwas Magie für meinen Fall gewirkt, bei dem es sich um Dateinamen handelte, die mit einem nicht konformen Leerzeichen endeten. Ich habe eine Menge Dienstprogramme ausprobiert, um damit umzugehen, aber nur 7z hat funktioniert.
Mike Simpson
2

Sie können die CHKDSK /FDOS-Eingabeaufforderung verwenden, um die Fehler zu beheben. RD /S <DIR>Wo <DIR>befindet sich dann das Verzeichnis, das Sie löschen möchten? Seien Sie vorsichtig, da dadurch das Verzeichnis und alle seine Unterverzeichnisse gelöscht werden.

julianisch
quelle
-1

Ich habe den Ordner mit unzugänglichen Zeichendateien im 7zip-Dateimanager geöffnet. Dort habe ich es umbenannt und BINGO, es wurde umbenannt. So konnte ich auf die Datei zugreifen.

7zip ist ein Freeware-Dienstprogramm zur Dateikomprimierung , das besser als RAR ist.

Arun
quelle
5
Ist Ihre Antwort nicht dieselbe wie die von Dentrasi?
MS Dousti