von freecrac » So 23. Jun 2013, 10:24
Ärger mit zu langen Pfadnamen und Dateinamen?
Wildcards '*' und '?' und auch das Tilde-Zeichen "~" können ggf. helfen.
http://de.wikipedia.org/wiki/Dateiname
Problematisch sind außerdem Dateinamen, die das eigentlich erlaubte &-Zeichen enthalten, das von der DOS-Umgebung unter Windows jedoch als Trennzeichen einzeiliger Befehlsketten verwendet wird, so dass alles auf ein &-Zeichen Folgende als eine weitere DOS-Befehlszeile interpretiert wird. In der Konsequenz gibt die Windows-„Eingabeaufforderung“ daher in diesem Fall eine Fehlermeldung aus, dass sie einen Befehl nicht finden oder ausführen konnte, dessen Name der Rest des eingegebenen Dateinamens nach dem &-Zeichen ist, ganz zu schweigen davon, dass die fragliche Datei selbst natürlich auch nicht geöffnet oder bearbeitet werden konnte.
http://de.wikipedia.org/wiki/8.3
Um die Abwärtskompatibilität mit älteren Anwendungen zu erhalten, wird für jeden langen Dateinamen zusätzlich eine 8.3-Variante im Verzeichnis eingetragen, unter der ältere Programme mit derartigen Dateien umgehen können.
Unter MS-Windows wird hierzu folgendermaßen vorgegangen:
Wenn der Dateiname bereits nur aus Großbuchstaben bzw. Ziffern im 8.3-Schema besteht, wird keine LFN-Variante erzeugt.
Beispiel: „TEXTFILE.TXT“
Wenn der Dateiname zwar dem 8.3-Schema entspricht, aber Groß- und Kleinbuchstaben enthält, wird dies als LFN gespeichert, während zusätzlich eine großgeschriebene 8.3-Variante erzeugt wird.
Beispiel: „TextFile.Txt“ wird zusätzlich als „TEXTFILE.TXT“ registriert.
Sonstige Dateinamen werden als LFN gespeichert und zusätzlich wird eine 8.3-Variante registriert. Diese besteht aus den ersten 6 Zeichen des Dateinamens in Großbuchstaben, erweitert um eine Tilde („~“) und eine fortlaufende Ziffer, gefolgt vom Punkt und den ersten drei großgeschriebenen Zeichen der Namenserweiterung.
Beispiel a): „TextFile1.Mine.txt“ wird zu „TEXTFI~1.TXT“ (oder „TEXTFI~2.TXT“, falls „TEXTFI~1.TXT“ bereits existiert).
Beispiel b): „WordFile1.docx“ wird zu „WORDFI~1.DOC“ (oder „WORDFI~2.DOC“, falls „WORDFI~1.DOC“ bereits existiert).
Dirk
Ärger mit zu langen Pfadnamen und Dateinamen?
Wildcards '*' und '?' und auch das Tilde-Zeichen "~" können ggf. helfen.
http://de.wikipedia.org/wiki/Dateiname
[quote]Problematisch sind außerdem Dateinamen, die das eigentlich erlaubte &-Zeichen enthalten, das von der DOS-Umgebung unter Windows jedoch als Trennzeichen einzeiliger Befehlsketten verwendet wird, so dass alles auf ein &-Zeichen Folgende als eine weitere DOS-Befehlszeile interpretiert wird. In der Konsequenz gibt die Windows-„Eingabeaufforderung“ daher in diesem Fall eine Fehlermeldung aus, dass sie einen Befehl nicht finden oder ausführen konnte, dessen Name der Rest des eingegebenen Dateinamens nach dem &-Zeichen ist, ganz zu schweigen davon, dass die fragliche Datei selbst natürlich auch nicht geöffnet oder bearbeitet werden konnte.[/quote]
http://de.wikipedia.org/wiki/8.3
[quote]Um die Abwärtskompatibilität mit älteren Anwendungen zu erhalten, wird für jeden langen Dateinamen zusätzlich eine 8.3-Variante im Verzeichnis eingetragen, unter der ältere Programme mit derartigen Dateien umgehen können.
Unter MS-Windows wird hierzu folgendermaßen vorgegangen:
Wenn der Dateiname bereits nur aus Großbuchstaben bzw. Ziffern im 8.3-Schema besteht, wird keine LFN-Variante erzeugt.
Beispiel: „TEXTFILE.TXT“
Wenn der Dateiname zwar dem 8.3-Schema entspricht, aber Groß- und Kleinbuchstaben enthält, wird dies als LFN gespeichert, während zusätzlich eine großgeschriebene 8.3-Variante erzeugt wird.
Beispiel: „TextFile.Txt“ wird zusätzlich als „TEXTFILE.TXT“ registriert.
Sonstige Dateinamen werden als LFN gespeichert und zusätzlich wird eine 8.3-Variante registriert. Diese besteht aus den ersten 6 Zeichen des Dateinamens in Großbuchstaben, erweitert um eine Tilde („~“) und eine fortlaufende Ziffer, gefolgt vom Punkt und den ersten drei großgeschriebenen Zeichen der Namenserweiterung.
Beispiel a): „TextFile1.Mine.txt“ wird zu „TEXTFI~1.TXT“ (oder „TEXTFI~2.TXT“, falls „TEXTFI~1.TXT“ bereits existiert).
Beispiel b): „WordFile1.docx“ wird zu „WORDFI~1.DOC“ (oder „WORDFI~2.DOC“, falls „WORDFI~1.DOC“ bereits existiert).[/quote]
Dirk