В большинстве операционных систем есть определённые ограничения на символы, которые можно использовать в именах файлов. Например, в Windows и в Unix-подобных системах (таких как Linux и macOS) нельзя использовать следующие символы:
В Windows нельзя использовать символы: `,
:,
",
/,
`, |
, ?
, *
а также нельзя использовать зарезервированные имена, такие как CON
, PRN
, AUX
, NUL
, COM1
, COM2
, COM3
, COM4
, COM5
, COM6
, COM7
, COM8
, COM9
, LPT1
, LPT2
, LPT3
, LPT4
, LPT5
, LPT6
, LPT7
, LPT8
, и LPT9
, независимо от расширения файла.
В Unix-подобных системах (Linux, macOS) нельзя использовать только /
и символ нуля (null character, \0
).
Следовательно, цепочка символов, которая содержит любой из этих запрещённых символов, не может быть использована в качестве имени файла в большинстве операционных систем. Например, имя файла data/project1.doc
недопустимо в Windows из-за наличия символов ``.