„Kompleksowy przewodnik” dotyczący zabronionych znaków nazw plików nie będzie działał w systemie Windows, ponieważ rezerwuje nazwy plików i znaki. Tak, znaki takie jak
* " ?i inne są zabronione, ale istnieje nieskończona liczba nazw złożonych tylko z prawidłowych znaków, które są zabronione. Na przykład spacje i kropki są poprawnymi znakami nazw plików, ale nazwy złożone tylko z tych znaków są zabronione.
System Windows nie rozróżnia wielkich i małych liter, więc nie można utworzyć folderu o nazwie, Ajeśli taki ajuż istnieje. Gorsze, pozornie dozwolony nazwy jak PRNi CON, i wiele innych, są zastrzeżone i nie wolno. System Windows ma również kilka ograniczeń długości; nazwa pliku ważna w jednym folderze może stać się niepoprawna, jeśli zostanie przeniesiona do innego folderu. Reguły
nazewnictwa plików i folderów
znajdują się w dokumentach Microsoft.
Zasadniczo nie można używać tekstu generowanego przez użytkownika do tworzenia nazw katalogów Windows. Jeśli chcesz, aby umożliwić użytkownikom nazwa cokolwiek chcą, trzeba stworzyć bezpieczne nazwiska jak A, AB, A2et al., Nazwy przechowywać generowane przez użytkownika i ich ekwiwalenty ścieżka w pliku danych aplikacji i wykonać mapowanie ścieżki w aplikacji.
Jeśli absolutnie musisz zezwolić na nazwy folderów generowane przez użytkowników, jedynym sposobem na stwierdzenie, czy są one nieprawidłowe, jest wychwycenie wyjątków i założenie, że nazwa jest nieprawidłowa. Nawet to jest obarczone niebezpieczeństwem, ponieważ wyjątki zgłaszane w przypadku odmowy dostępu, dyski offline i brak miejsca na dysku pokrywają się z wyjątkami, które można wyrzucić w przypadku nieprawidłowych nazw. Otwierasz jedną wielką paczkę krzywdy.
echo abc > "ab.;,=[1]"