Nicht alle Zeichen, welche "du" nicht nutzen kannst, sind auch verboten, bzw. nicht alles kann in jedem Programm genutzt vwerden.
Beispiel: versuche mal im Explorer oder mit Notepad die Datei .htaccess zu erstellen.
Fast überall sind im Windows "leere" Dateinamen nicht möglich und auch ein Punk am Ende wird oft abgeschnitten, da leere Dateiendung.
z.B. in der Registry kann/darf auch eine #0 im Namen vorkommen, was geil ist, da die C-Programme dann den Rest abschneiden, somit nicht darauf zugreifen können und man so Daten verstecken kann. (außer jemand nutzt native
API)
Auch für Dateizugriffe gibt es die nativen APIs, aber ich hab grade nicht im Kopf was dort z.B. bei NtCreateFile geht, was CreateFile nicht kann.
Nicht alles ist überall beschränkt, bzw. es kommt erst in höheren Schichten dazu:
* im Dateisystem nicht erlaubt (es gibt mehrere Versionen)
* im Dateisystemtreiber nicht möglich (es gibt unterschiedliche Treiber und Versionen)
* in der nativen/interen WindowsAPI nicht möglich (bzw. nur vom Kernelmode aus)
* in der höheren WindowsAPI nicht möglich
* im Programm nicht verwendbar
Wenn ich mich recht erinner, dann ist NTFS im Grunde case-sensive, aber der Dateisystemtreiber vom Windows bügelt die Zugriffe dann glatt, weswegen wir nichts von mitbekommen.
Und ist es auch wirklich ein < und nicht vielleicht ein Zeichen, was zufällig nur so aussieht? (bzw. bei Konvertierung von
Unicode zu
ANSI dann in dieses übersetzt wurde)
@incongnito: per se ist das > ein Steuerzeichen der Console ... kann also gut sein, dass es im NTFS dennoch erlaubt ist.