Jeśli możesz udostępniać swoje pliki innym organizacjom, które używają różnych systemów operacyjnych, musisz zbadać, co działa najlepiej we wszystkich głównych opcjach - tj. Windows, MacOS i różnych smakach Uniksa. „Jeśli działa w systemie Windows 10, to w porządku, ponieważ jest to jedyny system, którego używamy” prawdopodobnie wykopuje dziurę, w którą można wpaść w przyszłości!
Spacje w nazwach plików generalnie powodują bezsensowne pogorszenie, gdy system przyjmuje tylko pierwsze „słowo” nazwy jako pełną nazwę i najpierw skarży się, że plik nie istnieje, a następnie skarży się, że nie może zrozumieć, co następuje . Możesz to obejść, wpisując całe imię w cudzysłowie, ale po co zmuszać ludzi do robienia tego? Jeśli nie lubisz ReleasedDrawings, użyj zamiast tego Released-Drawings lub Released_Drawings.
Istnieją inne nieprawidłowe znaki - najbardziej oczywistym jest /, który jest separatorem między częściami nazwy pliku (np. Foldery i katalogi) a ekwiwalentem \ w systemie Windows. Inne to znaki cudzysłowu, „>”, „<”, „?”, „*” Itd. Znaki te mają specjalne znaczenie w instrukcjach wiersza poleceń w większości systemów operacyjnych.
Niektóre systemy operacyjne mają nazwy rozróżniające małe i wielkie litery (ReleasedDrawings i Releaseddrawings to różne pliki!), Ale inne nie. Windows to kompromis.
Niektóre systemy mają „zastrzeżone” nazwy plików - na przykład COM i NUL w systemie Windows.
Może istnieć ograniczenie całkowitej długości nazwy pliku (w tym wszystkich poprzedzających go nazw folderów).
Referencja Microsoft (oczywiście specyficzna dla systemu Windows) to https://support.office.com/en-us/article/Invalid-file-names-and-file-types-in-OneDrive-OneDrive-for-Business-and- SharePoint-64883a5d-228e-48f5-b3d2-eb39e07630fa
Mógłbyś zrobić coś gorszego niż trzymać się specyfikacji POSIX dla „w pełni przenośnych nazw plików”, która dopuszcza tylko znaki AZ, az, 0-9, „_”, „-” i „.” („-” nie może być pierwszym znakiem nazwy) i może mieć maksymalną długość 14 znaków lub ISO 9660 (stosowany na płytach CD i podobnych urządzeniach), która nie rozróżnia wielkości liter i dopuszcza tylko AZ, 0–9, „_” , i "." o maksymalnej długości około 180 znaków.