какие имена файлов недопустимы в oc windows
Мир цифровой информации
Если вам кажется, что нет ничего проще, чем придумать имя для файла или папки, то скорее всего вы ошибаетесь. Существуют правила из-за которых нельзя назвать файл любым именем как обычный физический предмет. Для начала проясним, что такое имя файла, и как оно используется.
Понятия «путь» и «имя файла»
Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако Microsoft и другие считают, что в путь к файлу входит не только его расположение но и само имя файла. А некоторые подразумевают под словом «путь» только имена файла и папок, в которых он расположен, без указания диска. Некоторые пользователи полагают, что «имя файла» не включает расширение. В данной статье расширение всегда является частью имени файла. На примере ниже синим цветом выделен путь к файлу, а красным имя файла.
X:\папка\подпапка\ файл.расширение
Зарезервированные символы и имена
Ограничения на длины имен файлов и путей
Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH. На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ, который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:\). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.
На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.
Именование файлов, путей и пространств имен
все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Windows разработчики, работающие с Windowsными api-интерфейсами для файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.
Доступ к данным можно получить с дисков, устройств и сетевых ресурсов с помощью API файлового ввода-вывода. Файлы и каталоги вместе с пространствами имен являются частью концепции пути, которая представляет собой строковое представление места получения данных независимо от диска, устройства или сетевого подключения для конкретной операции.
Некоторые файловые системы, такие как NTFS, поддерживают связанные файлы и каталоги, которые также следуют соглашениям об именовании файлов и правилам, как обычный файл или каталог. Дополнительные сведения см. в разделах жесткие связи, соединения и точки повторного анализа и операции с файлами.
Дополнительные сведения см. в следующих подразделах:
дополнительные сведения о настройке Windows 10 для поддержки длинных путей к файлам см. в разделе ограничение максимальной длины пути.
Имена файлов и каталогов
Ограничения количества символов также могут быть разными и могут различаться в зависимости от используемого формата префикса файловой системы и имени пути. Это усложняется за счет поддержки механизмов обратной совместимости. Например, более старая файловая система MS-DOS FAT поддерживает не более 8 символов для базового имени файла и 3 символа для расширения, а всего 12 символов, включая разделитель точек. Обычно это называется именем файла 8,3. Windows файловые системы FAT и NTFS не ограничиваются 8,3 именами файлов, так как они имеют длинную поддержку имен файлов, но по-прежнему поддерживают версию 8,3 длинных имен файлов.
Соглашения об именах
Следующие фундаментальные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы.
Используйте точку, чтобы отделить базовое имя файла от расширения в имени каталога или файла.
Используйте обратную косую черту ( \ ) для разделения компонентов пути. Обратная косая черта разделяет имя файла от пути к нему и одно имя каталога из другого имени каталога в пути. Нельзя использовать обратную косую черту в имени для фактического файла или каталога, так как это зарезервированный символ, разделяющий имена в компоненты.
Не думайте о чувствительности к регистру. Например, имена OSCAR, OSCAR и OSCAR должны быть одинаковыми, даже если некоторые файловые системы (такие как POSIX-совместимая файловая система) могут считать их разными. Обратите внимание, что NTFS поддерживает семантику POSIX для чувствительности к регистру, но это не поведение по умолчанию. Дополнительные сведения см. в разделе CreateFile.
Обозначения томов (буквы диска) не учитывают регистр. Например, «D: \ » и «d: \ » ссылаются на один и тот же том.
Используйте любой символ в текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128 – 255), за исключением следующих:
Следующие зарезервированные символы:
Символы, целочисленное представление которых находится в диапазоне от 1 до 31, за исключением альтернативных потоков данных, в которых разрешены эти символы. дополнительные сведения о файловых потоках см. в разделе file Потоки.
Любой другой символ, который не разрешен целевой файловой системой.
Используйте точку в качестве компонента каталога в пути для представления текущего каталога, например. \temp.txt «. Дополнительные сведения см. в разделе paths.
Используйте две последовательные точки (..) как компонент каталога в пути, чтобы представить родителя текущего каталога, например. \temp.txt «. Дополнительные сведения см. в разделе paths.
Не используйте следующие зарезервированные имена для имени файла:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также Избегайте этих имен сразу после расширения; Например, не рекомендуется использовать NUL.txt. Дополнительные сведения см. в разделе Пространства имен.
Не завершайте имя файла или каталога с пробелом или точкой. хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс не поддерживаются. Однако можно указать точку в качестве первого символа имени. Например, «. temp».
Короткие и длинные имена
Длинное имя файла считается любым именем файла, которое превышает короткое соглашение об именовании в стиле MS-DOS (также называемое 8,3). при создании длинного имени файла Windows также может создать короткую форму 8,3 имени, именуемую псевдонимом 8,3 или коротким именем, а также сохранить ее на диске. Это 8,3 может быть отключено для повышения производительности в зависимости от конкретной файловой системы.
Windows server 2008, Windows Vista, Windows Server 2003 и Windows XP: 8,3 псевдонимы не могут быть отключены для указанных томов до Windows 7 и Windows Server 2008 R2.
Во многих файловых системах имя файла будет содержать символ тильды (
) в каждом компоненте имени, которое слишком длинное для соответствия правилам именования 8,3.
Не все файловые системы следуют соглашению о подстановке тильды, и системы могут быть настроены на отключение создания псевдонима 8,3, даже если они обычно поддерживаются. Поэтому не следует предполагать, что псевдоним 8,3 уже существует на диске.
Чтобы запросить 8,3 имен файлов, длинных имен файлов или полного пути к файлу из системы, рассмотрите следующие варианты.
в новых файловых системах, таких как NTFS, exFAT, udf и FAT32, Windows сохраняет длинные имена файлов на диске в юникоде, что означает, что исходное имя длинного файла всегда сохраняется. Это справедливо даже в том случае, если длинное имя файла содержит символы национальных алфавитов, независимо от того, какая кодовая страница активна во время операции чтения или записи с диска.
файлы, использующие длинные имена файлов, можно скопировать между разделами файловой системы NTFS и Windows разделами файловой системы FAT без потери сведений об имени файла. Это может быть неверно для старых файлов MS-DOS FAT и некоторых типов файловых систем CDFS (CD-ROM) в зависимости от фактического имени файла. В этом случае короткое имя файла подставляется по возможности.
Если компонент пути является именем файла, то он должен быть последним компонентом.
Каждый компонент пути также будет ограничен максимальной длиной, указанной для конкретной файловой системы. Как правило, эти правила делятся на две категории: Short и Long. Обратите внимание, что имена каталогов хранятся в файловой системе как файлы особого типа, но правила именования для файлов также применяются к именам каталогов. Для суммирования путь — это просто строковое представление иерархии между всеми каталогами, которые существуют для определенного имени файла или каталога.
Полные и относительные пути
для функций API Windows, которые управляют файлами, имена файлов часто могут относиться к текущему каталогу, в то время как некоторым api требуется полный путь. Имя файла задается относительно текущего каталога, если он не начинается с одного из следующих:
Если имя файла начинается только с обозначения диска, но не с обратной косой черты после двоеточия, то оно интерпретируется как относительный путь к текущему каталогу на диске с указанной буквой. Обратите внимание, что текущий каталог может быть или не являться корневым каталогом, в зависимости от того, на что он был установлен во время последней операции «изменение каталога» на этом диске. Ниже приведены примеры этого формата.
Путь также считается относительным, если он содержит «двойные точки»; то есть две точки вместе находятся в одном компоненте пути. Этот Специальный описатель используется для обозначения каталога над текущим каталогом, в противном случае известный как «родительский каталог». Ниже приведены примеры этого формата.
Относительные пути могут сочетать оба типа примеров, например «К. \tmp.txt «. Это полезно, поскольку, несмотря на то, что система отслеживает текущий диск вместе с текущим каталогом этого диска, она также следит за текущими каталогами на разных буквах диска (если в системе несколько), независимо от того, какой из обозначений установлен в качестве текущего диска.
Ограничение максимальной длины пути
Пространства имен
существует две основные категории соглашений о пространствах имен, используемых в Windows api, которые обычно называются пространствами имен NT и пространствами имен Win32. Пространство имен NT было разработано как пространство имен самого низкого уровня, в котором могут существовать другие подсистемы и пространства имен, включая подсистему Win32 и, по расширениям, пространства имен Win32. POSIX — это еще один пример подсистемы в Windows, построенной на основе пространства имен NT. ранние версии Windows также определили несколько предопределенных или зарезервированных имен для определенных специальных устройств, таких как порты связи (последовательные и параллельные) и консоль экрана по умолчанию, как часть того, что теперь называется пространством имен устройств NT, и все еще поддерживаются в текущих версиях Windows для обеспечения обратной совместимости.
Пространства имен файлов Win32
Префиксы и соглашения пространств имен Win32 приведены в этом разделе и в следующем разделе с описанием того, как они используются. обратите внимание, что эти примеры предназначены для использования с функциями API Windows и не всегда работают с приложениями оболочки Windows, такими как Windows Explorer. по этой причине существует более широкий диапазон возможных путей, чем обычно доступно в Windows приложениях оболочки, а Windows приложения, использующие его, можно разрабатывать с помощью этих соглашений по пространству имен.
Так как он отключает автоматическое расширение строки пути, \ \ префикс «? \ » также позволяет использовать «..» и «.» в именах путей, которые могут быть полезны при попытке выполнить операции с файлом, в противном случае зарезервированные описатели относительных путей в составе полного пути.
Обратите внимание, что для префикса «?» можно использовать только API-интерфейсы Юникод, что \ \ \ позволяет превысить максимальный _ путь
Пространства имен устройств Win32
при работе с функциями API Windows следует использовать \ \ префикс «. \ » для доступа только к устройствам, а не файлам.
Пространства имен NT
чтобы сделать эти объекты устройств доступными для приложений Windows, драйверы устройств создают символьную ссылку (символьную ссылку) в пространстве имен Win32 «Global??» для соответствующих объектов устройств. Например, COM0 и COM1 в разделе «Global??» подкаталог — это просто символических ссылок Serial0 и Serial1, «C:» — это символьную ссылку до HarddiskVolume1, «отображается physicaldrive0» — символьную ссылку до DR0 и т. д. без символьную ссылку указанное устройство «Xxx» будет недоступно для любого Windows приложения, использующего соглашения о пространстве имен Win32, как описано выше. Однако для этого устройства можно открыть маркер, используя любые интерфейсы API, поддерживающие абсолютный путь к пространству имен NT формата » \ устройство \ xxx».
Особенности имен в oc Windows
ПО. УР_37-40 Тема: Файлы, диски, директории, пиктограмма, ярлык, папка.
Работа с мышью.
Все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Разработчики Windows, работающие с API-интерфейсами Windows для ввода-вывода файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.
Доступ к данным можно получить с дисков, устройств и общих сетевых ресурсов с помощью интерфейсов API файлового ввода-вывода. Файлы и каталоги, наряду с пространствами имен, являются частью концепции пути, который представляет собой строковое представление того, где получить данные, независимо от того, на диске они, или устройстве, или сетевом ресурсе.
Именование файлов
По способам именования файлов различают “короткое” и “длинное” имя. До появления операционной системы Windows 95 общепринятым способом именования файлов было соглашение 8.3. Согласно этому соглашению, принятому в MS-DOS, имя файла состоит из двух частей: собственно имени и расширения имени.
На имя файла отводится 8 символов, а на его расширение — 3 символа. Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только алфавитно-цифровые символы латинского алфавита и символ подчеркивания, имя не может начинаться с цифры.
Соглашение 8.3 не является стандартом, и потому в ряде случаев отклонения от правильной формы записи допускаются как операционной системой, так и ее приложениями. Сегодня имена файлов, записанные в соответствии с соглашением 8.3, считаются “короткими”.
Основным недостатком “коротких” имен является их низкая содержательность.
С появлением операционной системы Windows 95 было введено понятие “длинного” имени оно может содержать до 256 символов.
“Длинное” имя может содержать любые символы, кроме девяти специальных:
Используйте любой символ на текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128-255), за исключением следующих:
Следующие зарезервированные символы:
\ (обратная косая черта)
| (вертикальный стержень или символ трубы)
В имени разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие после последней точки.
Следующие основные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы:
Используйте точку, чтобы отделить имя базового файла от расширения в имени каталога или файла.
Используйте обратную косую черту (\) для разделения компонентов пути. Обратная косая черта отделяет имя файла от пути к нему, и одно имя каталога от другого имени каталога в пути. Нельзя использовать обратную косую черту в имени файла или каталога, потому что это зарезервированный символ, который разделяет имена на составляющие.
Не думайте о чувствительности к регистру. Например, можно считать имена OSCAR, Oscar и oscar одинаковыми, хотя некоторые файловые системы (например, файловая система, совместимая с POSIX) могут рассматривать их как разные. Обратите внимание, что NTFS поддерживает семантику POSIX для учета регистра, но это не поведение по умолчанию.
Обозначения томов (буквы дисков) не учитывают регистр символов. Например,» D:\ «и» d:\ » – это одно и то же.
Особенности имен в oc Windows
Использование “длинных” имен файлов в операционных системах Windows имеет ряд особенностей.
1. Если “длинное” имя файла включает пробелы, то в служебных операциях его надо заключать в кавычки. Рекомендуется не использовать пробелы, а заменять их символами подчеркивания.
2. В корневой папке диска (на верхнем уровне иерархической файловой структуры) нежелательно хранить файлы с длинными именами — в отличие от прочих папок в ней ограничено количество единиц хранения, причем, чем длиннее имена, тем меньше файлов можно разместить в корневой папке.
3. Кроме ограничения на длину имени файла (256 символов) существует гораздо более жесткое ограничение на длину полного имени фата (в него входит путь доступа к файлу, начиная от вершины иерархической структуры). Полное имя не может быть длиннее 260 символов.
4. Разрешается использовать символы любых алфавитов.
5. Прописные и строчные буквы не различаются операционной системой. Для нее имена Письмо.txt и письмо.txt соответствуют одному и тому же файлу. Однако символы разных регистров исправно отображаются операционной системой, и, если для наглядности надо использовать прописные буквы, это можно делать.
6. Расширение имени файла рассказывает операционной системе, исполняющей программе или пользователю, к какому типу относятся данные, содержащиеся в файле, и о формате, в котором они записаны.
Системы Windows 95/98 имеют средства для регистрации свойств типов файлов по расширению их имени, поэтому во многих случаях выбор расширения имени файла не является частным делом пользователя. Приложения этих систем предлагают выбрать только основную часть имени и указать тип файла, а соответствующее расширение имени приписывают автоматически.
Список запрещённых имён для файлов и каталогов в Windows
В современном с ума сошедшем мире всё перевернулось с ног на голову нетбуки стали называть ноутбуками, каталоги именуют нынче папками (разделы наверно мамками:), вместо Ё пишут Е и пашло поехало 🙂
Согласно Обзор файловых систем FAT, HPFS и NTFS в системе Windows нельзя обычным образом создать файлы и каталоги с именами:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Также в именах для файлов и каталогов нельзя использовать символы:
На самом деле файлы и каталоги с запрещёнными (зарезервированными) именами создать можно, если очень хочется:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Лучше не пытаться свернуть мозги системе, а то гляди может и получиться. Всех с новым годом, желаю всем в новом году счастья, здоровья и всяческих баг, тьфу ты. т.е. благ!;))
Ссылки по теме:
Рекомендуемый контент
А тут же ж мог быть рекомендуемый контент от гугла 🙂 Для отображения рекомендуемого контента необходимо в браузере разрешить выполнение JavaScript скриптов, включая скрипты с доменов googlesyndication.com и doubleclick.net
Вы не любите рекламу!? Напрасно!:) На нашем сайте она вовсе ненавязчивая, а потому для нашего сайта можете полностью отключить AdBlock (uBlock/uBlock Origin/NoScript) и прочие блокировщики рекламы! AdBlock/uBlock может препятствовать нормальной работе системы поиска по сайту, отображению рекомендуемого контента и прочих сервисов Google. Рекомендуем полностью отключить блокировщик рекламы и скриптов, а также разрешить фреймы (aka iframe).
Какие имена файлов недопустимы в oc windows
Все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Разработчики Windows, работающие с API-интерфейсами Windows для ввода-вывода файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.
Доступ к данным можно получить с дисков, устройств и общих сетевых ресурсов с помощью интерфейсов API файлового ввода-вывода. Файлы и каталоги, наряду с пространствами имен, являются частью концепции пути, который представляет собой строковое представление того, где получить данные, независимо от того, на диске они, или устройстве, или сетевом ресурсе.
Имена файлов и каталогов
Все файловые системы придерживаются одних и тех же общих соглашений об именовании для отдельного файла: имя базового файла и необязательное расширение, разделяемые точкой. Однако, у каждой файловой системы, ()NTFS, и cdfs, NTFS или exFAT, FAT и FAT32, могут быть особые и иные правила о формировании отдельных компонентов пути к каталогу или файлу.
Ограничения количества символов также могут различаться и варьироваться в зависимости от используемой файловой системы и формата префикса имени пути. Это еще больше осложняется поддержкой механизмов обратной совместимости. Например, старая файловая система MS-DOS FAT поддерживает не более 8 символов для имени базового файла и 3 символа для расширения, в общей сложности 12 символов, включая разделитель точку. Файловые системы Windows FAT и NTFS не ограничиваются этим, поскольку они имеют поддержку длинных имен файлов, но они по-прежнему поддерживают предыдущие версии имен файлов.
Правила именования файлов
Следующие основные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы:
Длинным именем файла считается любое имя файла, которое превышает соглашение об именовании стиля MS-DOS (также называемое схема 8.3). При создании длинного имени файла Windows может также создать короткую форму имени 8.3, называемую псевдонимом 8.3 или коротким именем, и сохранить ее на диске. Это 8.3 псевдонимы могут быть отключены по соображениям производительности либо по всей системе, либо для указанного тома, в зависимости от конкретной файловой системы.
Во многих файловых системах имя файла будет содержать тильду (
) в каждом компоненте имени, которое слишком длинное, чтобы соответствовать правилам именования 8.3.
Не все файловые системы могут следовать соглашение о подстановке тильды, и системы могут быть настроены на отключение 8.3 генерации псевдонимов, даже если они обычно поддерживают его. Поэтому не следует делать предположение, что псевдоним 8.3 уже существует на диске.
Файлы, использующие длинные имена файлов, могут быть скопированы между разделами файловой системы NTFS и разделами файловой системы Windows FAT без потери информации об имени файла. Это может быть неверно для старых MS-DOS FAT и некоторых типов cdfs (CD-ROM) файловых систем, в зависимости от фактического имени файла. В данном случае, если это возможно, подставляется короткое имя файла.
статьи IT, Windows, файлы, каталоги, правила