Eine „umfassende Anleitung“ für verbotene Dateinamenzeichen funktioniert unter Windows nicht, da sowohl Dateinamen als auch Zeichen reserviert werden. Ja, Zeichen wie
*
"
?
und andere sind verboten, aber es gibt unendlich viele Namen, die nur aus gültigen Zeichen bestehen, die verboten sind. Beispielsweise sind Leerzeichen und Punkte gültige Dateinamenzeichen, aber Namen, die nur aus diesen Zeichen bestehen, sind verboten.
Windows unterscheidet nicht zwischen Groß- und Kleinbuchstaben. Sie können daher keinen Ordner mit dem Namen erstellen, A
wenn bereits ein Name a
vorhanden ist. Schlimmer noch, scheinbar erlaubte Namen wie PRN
und CON
und viele andere sind reserviert und nicht erlaubt. Windows hat auch mehrere Längenbeschränkungen. Ein in einem Ordner gültiger Dateiname kann ungültig werden, wenn er in einen anderen Ordner verschoben wird. Die Regeln zum
Benennen von Dateien und Ordnern
finden Sie in den Microsoft-Dokumenten.
Sie können im Allgemeinen keinen benutzergenerierten Text verwenden, um Windows-Verzeichnisnamen zu erstellen. Wenn Sie etwas zu benennen , damit die Benutzer , was sie wollen, müssen Sie wie sichere Namen erstellen A
, AB
, A2
et al., Speichern von benutzergenerierten Namen und deren Pfad Äquivalente in einer Anwendungsdatendatei und Pfadzuordnung in Ihrer Anwendung auszuführen.
Wenn Sie vom Benutzer generierte Ordnernamen unbedingt zulassen müssen, können Sie nur feststellen, ob sie ungültig sind, indem Sie Ausnahmen abfangen und davon ausgehen, dass der Name ungültig ist. Selbst das ist mit Gefahren verbunden, da sich die Ausnahmen für verweigerten Zugriff, Offline-Laufwerke und Speicherplatz außerhalb des Laufwerks mit denen überschneiden, die für ungültige Namen ausgelöst werden können. Sie öffnen eine riesige Dose mit Verletzungen.
echo abc > "ab.;,=[1]"