Ich habe mit Java ein paar Dateien geschrieben. Unglücklicher Weise sind dabei Dateien entstanden, welche einen Doppelpunkt enthalten.
Selbstverständlich kann Windows diese Dateien nicht vernünftig darstellen. Auch nicht löschen, verschieben oder sonstwas.
Weil ich mich für schlau gehalten habe, programmierte ich mir schell mal einen 10zeiler, welcher mir die Dateien löschen soll. Das klappt leider nicht. Umbenennen geht auch nicht. Es kommt keine Exception. Es passiert einfach nichts
Was kann ich jetzt noch probieren?
Danke
Daniel
Der Code
File dir = new File("C:\\Users\\root\\Desktop");
File[] files = dir.listFiles();
for (File file : files) {
if(file.getName().startsWith("DkD")){
System.out.println(file.getName());
//file.delete();
file.renameTo(new File("C:\\Users\\root\\Desktop\\zzzzzzzzz"));
}
}
}```
eine Linux Live CD könnte dir hier helfen, der Linux Treiber kann in diesem Bereich oft mehr
Falls du Windows 10 hast gibts da nicht jetzt ein neues Linux Subsystem?
Vl hilft aber auch schon einfach cygwin installiert zu haben und das löschen hier über das ‘rm’ tool oder umbenennen mit dem ‘mv’ tool
Interessant. Tipp mal in dem Verzeichnis an der Konsole
dir /X
ein. Dann sollte er die “8.3”-Namen anzeigen. Die sollten gültig sein, und man sollte die Dateien mit
del FOOXXX~1.XYZ
löschen könnten. (Aber ausprobieren werd’ ich das jetzt mal nicht ;-))
[QUOTE=Marco13]Interessant. Tipp mal in dem Verzeichnis an der Konsole
dir /X
ein. Dann sollte er die „8.3“-Namen anzeigen. Die sollten gültig sein, und man sollte die Dateien mit
del FOOXXX~1.XYZ
löschen könnten. (Aber ausprobieren werd’ ich das jetzt mal nicht ;-))[/QUOTE]
Das hat super geklappt.
Ich denke schon: In dem 8.3-Format ersetzt er wohl „alle“ Zeichen, die er ansonsten nicht versteht. Aber keine Gewähr, wenn jetzt jemand meint, eine Datei con>c:<con oder so nennen zu müssen