В операционной системе Windows существует ряд символов, которые запрещены в именах файлов и папок. Эти ограничения обусловлены как техническими особенностями работы файловой системы, так и историческими требованиями к совместимости с более старыми версиями операционной системы. Чтобы имя файла корректно работало в Windows, оно не должно содержать следующие символы:
1. Запрещенные символы в имени файла
Windows не разрешает использование следующих символов в именах файлов:
<
(меньше)>
(больше):
(двоеточие)"
(двойная кавычка)/
(слэш)(обратный слэш)
|
(вертикальная черта)?
(вопросительный знак)*
(звездочка)
2. Объяснение ограничений
<
,>
,:
,"
,/
,,
|
,?
,*
: Эти символы запрещены, так как они используются операционной системой для специальных целей:<
и>
— используются в командной строке для перенаправления ввода/вывода.:
— используется для обозначения дисков (например,C:
), а также в пути к файлу для разделения имени устройства и пути."
— используется для обозначения строк в командной строке./
и— используются для разделения каталогов в пути (в Windows обычно используется
).
|
— используется в командной строке для создания пайпов (каналов).?
и*
— служат как универсальные символы в поисковых запросах, заменяя любые символы в именах файлов (например,*
может заменять любую строку, а?
— один символ).
3. Другие ограничения
Кроме самих символов, в Windows есть и другие ограничения, которые могут повлиять на допустимые имена файлов:
a) Длина имени файла
В Windows максимальная длина пути до файла составляет 260 символов, включая имя диска, все каталоги и имя файла. Это ограничение обозначается как MAX_PATH. При этом максимальная длина имени файла (без пути) составляет 255 символов.
В некоторых случаях, начиная с Windows 10, можно использовать длинные пути, если это разрешено в настройках системы, но это потребует применения специальных методов и API для работы с файлами.
b) Резервированные имена
Windows имеет набор резервированных имен файлов, которые нельзя использовать как имя файла или папки, независимо от расширения. Это связано с тем, что они зарезервированы для системных целей. К таким именам относятся:
CON — Console (консоль)
PRN — принтер
AUX — вспомогательное устройство
NUL — специальное устройство (не существующее)
COM1, COM2, …, COM9 — последовательные порты
LPT1, LPT2, …, LPT9 — порты для принтеров
CLOCK$ — системное время
EPSON — также может быть зарезервировано в некоторых случаях
И так далее для множества других подобных имен.
Даже если к этим именам добавляется расширение (например, CON.txt
), они по-прежнему будут недопустимыми.
c) Пробел в конце имени файла
Windows запрещает использование пробела в конце имени файла или папки. Это ограничение связано с тем, что пробел в конце может быть интерпретирован как символ, отделяющий имя файла от расширения или других параметров в некоторых сценариях.
d) Запрещенные символы при работе с сетевыми путями
При использовании путей в сетевых адресах (например, \serversharefolder
), также могут быть ограничения на использование некоторых символов, таких как /
, и другие.
e) Недопустимые комбинации символов
Некоторые комбинации символов в пути могут также быть невалидными, например:
\?
— специальный префикс, который используется для работы с длинными путями в Windows.\.
— это зарезервированная последовательность, предназначенная для специальных файлов, таких как устройства или драйверы.
4. Общие рекомендации по именованию файлов в Windows
Избегать использования символов: запрещенные символы, такие как
<
,>
,:
,"
и другие, не должны встречаться в именах файлов и папок.Соблюдать допустимую длину имени: старайтесь не превышать 255 символов для имени файла.
Не использовать зарезервированные имена: такие как
CON
,PRN
,AUX
и другие.Не оставлять пробелы в конце: избегайте пробела в конце имени файла.
Придерживаться стандартных форматов: использование букв, цифр и дефисов/подчеркиваний (
_
) — это безопасный и универсальный подход для имен файлов.
5. Примеры допустимых и недопустимых имен файлов
Допустимые имена:
myfile.txt
image_01.jpg
project_2025.docx
backup_2025-05-24.zip
Недопустимые имена:
CON.txt
— зарезервированное имяmy:file.txt
— содержит двоеточиеimage|01.jpg
— содержит вертикальную чертуdocument<01>.docx
— содержит знак «меньше»backup/2025.zip
— содержит слэш
6. Особенности при использовании командной строки
Когда вы работаете в командной строке, важно помнить, что при вводе путей и имен файлов с использованием команд, нужно аккуратно обрабатывать спецсимволы, такие как пробелы. В этом случае их следует заключать в кавычки.
Например:
Можно написать как:
Если у вас будут дополнительные вопросы или вам нужно уточнение по каким-то моментам, не стесняйтесь спросить!