„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, A
jeśli taki a
już istnieje. Gorsze, pozornie dozwolony nazwy jak PRN
i 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
, A2
et 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]"