В есть строгие правила именования папок, и нарушение их приводит к ошибкам. С каким именем нельзя создать папку на Windows — вопрос, который возникает у пользователей при попытке сохранить файл или создать директорию с «неудобным» названием. Ответ прост: система блокирует имена, содержащие запрещенные символы, а также резервированные слова вроде CON, PRN или NUL. Но это только верхушка айсберга.
Далее разберем, какие именно символы и слова запрещены, почему так строго относится к именам, и как обойти ограничения, если это действительно необходимо. Спойлер: в большинстве случаев обход не нужен — просто не стоит использовать «запрещенку».
Почему ограничивает имена папок
Ограничения на имена папок в Windows — не прихоть разработчиков, а необходимость для стабильной работы системы. Всему виной наследие MS-DOS и архитектура файловой системы NTFS (а раньше — FAT32). Некоторые символы и слова уже заняты системой для служебных целей, и их использование приведет к конфликтам.
Например, CON — это сокращение от «console», и в старых версиях это имя было закреплено за устройством ввода-вывода (клавиатура, экран). Попытка создать папку с таким именем вызовет ошибку, потому что система будет пытаться обратиться к устройству, а не к директории.
Кроме того, некоторые символы (\, /, :) используются как разделители в путях к файлам. их включение в имя папки сбивает систему с толку: как разделять путь, если разделитель сам — частью имени?
Если вам нужно использовать запрещенное имя для совместимости с другим ПО, попробуйте переименовать папку в Linux или macOS, а затем перенести её в Windows. Но учтите: работать с такой папкой в Windows будет невозможно.
| Символ | Название | Причина запрета |
|---|---|---|
\ | Обратная косая черта | Разделитель путей в Windows (например, C:\Users\Name) |
/ | Косая черта | Разделитель путей в Unix-подобных системах, но его тоже блокирует |
: | Двоеточие | Используется для обозначения диска (например, C:) |
* | Звездочка | Подстановочный символ в поиске файлов |
? | Вопросительный знак | Подстановочный символ (означает один произвольный символ) |
" | Двойная кавычка | Используется для обозначения строк в командной строке |
< | Знак меньше | Зарезервирован для системных целей |
> | Знак больше | Зарезервирован для системных целей |
| | Вертикальная черта | Используется для перенаправления потоков в командной строке |
Запрещенные символы в именах папок
В нельзя использовать следующие символы в именах папок (и файлов):
Попытка создать папку с любым из этих символов вызовет ошибку вроде «Указано недопустимое имя файла». При этом система не уточняет, какой именно символ виноват — придется проверять вручную.
Резервированные имена папок в Windows
Помимо символов, в есть список резервированных имен, которые нельзя использовать для папок и файлов. Эти имена закреплены за системными устройствами и потоками. Полный список включает:
CON— консоль (клавиатура и экран);PRN— принтер;AUX— вспомогательное устройство;NUL— пустое устройство (используется для удаления данных);COM1–COM9— последовательные порты;LPT1–LPT9— параллельные порты;
Интересно, что эти ограничения и на расширения файлов. То есть нельзя создать папку с именем CON.txt или PRN.doc. Также нельзя добавлять к этим именам пробелы или точки в конце (например, CON. или PRN — тоже запрещено).
Кстати, в Windows 10 и 11 эти ограничения сохраняются, несмотря на то, что старые устройства вроде COM-портов почти не используются. Это сделано для обратной совместимости с устаревшими программами.
Ограничения на длину имени и путь
Помимо запрещенных символов и имен, в есть ограничения на длину имени папки и полного пути к ней.
- Максимальная длина имени папки или файла: 255 символов (включая расширение). Это ограничение файловой системы NTFS. В FAT32 лимит еще жестче — 255 символов в сумме для пути и имени.
- Максимальная длина полного пути: 260 символов (включая диск, папки и имя файла). Это ограничение связано с API Windows. Однако в последних версиях Windows (начиная с 10 версии 1607) можно включить поддержку длинных путей, отредактировав реестр или групповую политику.
⚠️ Внимание: если вы превысите лимит длины пути, то не сможете перемещать, копировать или открывать файлы через стандартные инструменты Windows. Некоторые программы (например, Total Commander) могут работать с длинными путями, но это не гарантирует стабильность.
Сравнение ограничений в разных файловых системах
Windows поддерживает несколько файловых систем, и у каждой свои нюансы именования. Ниже сравним NTFS, FAT32 и exFAT — самые распространенные варианты.
| Характеристика | NTFS | FAT32 | exFAT |
|---|---|---|---|
| Запрещенные символы | Те же, что в Windows | Те же + +, =, ;, , | Те же, что в NTFS |
| Резервированные имена | Да (CON, и др.) | Да | Да |
| Макс. длина имени файла | 255 символов | 255 символов | 255 символов |
| Макс. длина пути | 260 символов (32767 с включенной опцией) | 260 символов | 32767 символов |
| Регистрозначность | Нет (но учитывается) | Нет | Нет |
| Поддержка Unicode | Да | Ограниченная | Да |
exFAT — самая гибкая из перечисленных: она поддерживает длинные пути и полный набор Unicode, что делает её удобной для внешних накопителей. FAT32 — самая ограниченная, но зато совместима почти со всеми устройствами.
Что будет, если попробовать создать папку с запрещенным именем
Если вы попробуете создать папку с именем, содержащим запрещенный символ или резервированное слово, выдаст ошибку. Сообщение может варьироваться в зависимости от способа создания:
Windows не позволит создать папку с запрещенным именем ни через Проводник, ни через командную строку, ни через сторонние файловые менеджеры. Ошибка возникнет на уровне системы.
- Через Проводник: Появится окно с текстом
«Указано недопустимое имя файла»или«Невозможно создать папку с именем "CON". Указанное имя недопустимо». - Через командную строку: Вы получите сообщение
«Синтаксическая ошибка в имени файла, папки или тома». - Через PowerShell: Ошибка будет похожа на
«Имя "PRN" недопустимо для файла или папки».
В некоторых случаях система может просто проигнорировать попытку создания папки без явно ошибки — например, если вы используете сторонний файловый менеджер, который не проверяет имена на соответствие правилам Windows.
Как создать папку с «запрещенным» именем: обходные пути
Технически обойти ограничения можно, но это чревато проблемами. Вот несколько способов, которые не рекомендуется использовать без острой необходимости:
Как обойти ограничения (но лучше не делать этого)
- Альтернативные потоки данных в NTFS.
В NTFS есть функция альтернативных потоков данных (ADS), которая позволяет прикреплять к файлу дополнительные данные. Некоторые утилиты (например, StreamTool) позволяют создать файл с запрещенным именем через ADS, но работать с ним будет крайне неудобно.
- Создание в другой ОС.
В или можно создать папку с именем
CONилиPRN, а затем подключить диск к Windows. Однако не сможет работать с такой папкой — она будет невидима или вызовет ошибки при попытке доступа. - Использование утилит вроде 7-Zip.
Некоторые архиваторы позволяют добавлять файлы с запрещенными именами в архив. Но после извлечения на вы все равно не сможете с ними работать.
Помните: все эти методы — временное решение. В большинстве случаев проще переименовать папку, чем бороться с последствиями обхода ограничений.
Часто задаваемые вопросы
Можно ли переименовать существующую папку в запрещенное имя?
Нет. не позволит переименовать папку в имя, содержащее запрещенные символы или резервированные слова. Ошибка возникнет еще на этапе переименования.
Почему в можно создавать папки с именами или PRN, а в Windows — нет?
В нет резервированных имен для устройств в файловой системе. В эти имена закреплены за системными устройствами (например, CON — консоль), поэтому их использование для папок вызывает конфликты.
Можно ли использовать пробелы в именах папок?
Да, пробелы разрешены. Однако их использование может вызывать проблемы в некоторых скриптах или старых программах. Лучше заменять пробелы на подчеркивания (_) или дефисы (-).
Что делать, если программа требует папку с запрещенным именем?
Обратитесь к разработчикам программы с просьбой обновить её. В большинстве случаев это ошибка программиста, который не учёл ограничения Windows. Если программа критически важна, попробуйте использовать символические ссылки (mklink) или перенесите папку на другой диск с другой файловой системой.