Валерий Сидоров Грандмастер

Почему она этого не любит, или Снова о Windows

Запрещенные символы
Если при создании нового файла или папки (при работе в операционной системе Windows XP) вы попытаетесь в имени файла/папки применить символы \ /: *? «≤> |, то появится системное сообщение: «Имя файла не должно содержать следующих знаков: \ /: *? «≤> | «.

При работе в операционной системе Windows Vista в аналогичных случаях появляется диалоговое окно Переименование с сообщением «Указано неверное имя устройства».

Запрещенные имена
Если вы попытаетесь создать файлы или папки со следующими именами: con, nul, prn, AUX, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 (регистр букв — прописные буквы или строчные — значения не имеет), — система в таких случаях вместо введенного вами «запрещенного» имени выведет имя по умолчанию, например, Новая папка, или Текстовый документ, или Документ Microsoft Word. При этом Windows Vista выведет окно Переименование с сообщением «Указано неверное имя устройства».

Дело в том, что по «Соглашению об именованиях» эти символы и имена зарезервированы файловой системой для «внутренних» системных нужд, применять их пользователю запрещено.

Примечание. Применять для файлов и папок имена COM, COM10, COM11…, LPT, LPT10, LPT11… системой не возбраняется.

Имена файлов в FAT
В файловой системе FAT использован традиционный формат имен 8.3, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра. При определении имени можно использовать все символы за исключением перечисленных ниже:
. «/ \ [ ]:; | = ,

Использование этих символов может привести к получению неожиданных результатов. Имя не должно содержать пробелов.

Соглашения именования в NTFS
Имена файлов могут состоять не более чем из 255 символов, включая любое расширение. В именах сохраняется регистр введенных символов, но сами имена не зависят от регистра. NTFS не различает имена в зависимости от регистра. В именах могут быть использованы любые символы за исключением указанных ниже:
? «/ \ ≤> * | :
В настоящее время из командной строки можно задать имя файла длиной не более 253 символов.

Можно ли обойти запреты файловой системы
Можно создать папки с зарезервированными именами с помощью Интерпретатора команд Windows, например:
 — нажмите Пуск → Выполнить… → Запуск программы → cmd → OK;
 — в открывшемся окне Интерпретатора команд после приглашения системы введите mkdir .\com1\ (Enter).

Будет создан каталог с именем com1.
Удалить его обычным путем вы не сможете: появится окно Ошибка при удалении файла или папки с сообщением Не удается удалить com1. Нет доступа. Диск может быть переполнен или защищен от записи, либо файл занят другим приложением или Н е удается удалить com1. Не удается найти файл. Проверьте правильность указания пути и имени файла.
Для удаления каталога com1 нужно ввести команду rmdir .\com1\ (Enter).

Системные папки
Также Windows не позволит переименовать или переместить системные папки, такие как «Documents and Settings» (в Vista — «Пользователи»), «Windows», «System32», «Program Files». Они необходимы для нормальной работы Windows (если каким-либо образом — не в среде Windows — их переименовать/переместить, то вы не сможете загрузить операционную систему).

Обновлено 23.11.2007
Статья размещена на сайте 11.11.2007

Комментарии (7):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети:

  • регистр букв – прописные буквы или строчные – значения не имеет - тогда почему в тексте неравенство, сделали бы уж все прописными, чтоб лучше читалось.
    не имеет), – система - лишнее тире.
    эти символы и имена зарезервированы файловой системой для «внутренних» системных нужд
    Дело гораздо глубже, и к файловой системе отношение не имеет. читать дальше →


    Поэтому Примечание. Применять для файлов и папок имена COM, COM10, COM11…, LPT, LPT10, LPT11… системой не возбраняется. - некорректно. Не возбраняется как раз файловой системой, а ОС - возбраняется.

    имена зарезервированы файловой системой для «внутренних» системных нужд, применять их пользователю запрещено
    Как это запрещено?! Я что, не могу скопировать файл на LPT1? Запросто, если подключен принтер. Или на CON? Запросто, если хочу видеть его на консоли.

    Вывод - довольно поверхностный обзор без понимания причин и следствий.

    Оценка статьи: 2

  • Не совсем точная информация: можно создавать папки и файлы с зарезервированными именами (на счет портов только не знаю), через консоль и хитрости составления путей к файлам.
    Например, можно вот так:
    mkdir .\nul\
    (чтобы потом удалить, используйте rmdir .\nul\)

    • Да, Вы правы! Спасибо за поправку!
      Вероятно, есть и другие пути обхода запретов файловой системы…

      Оценка статьи: 5

      • виндоуз такая загадочная штука, что у нее очень хорошо получается саму себя наобманывать... так что я уверена, что есть. Это же запреты ос, а не файловой системы - другие ос на тех же файловых системах совершенно по-другому работают, Вы об этом там тоже где-то писали.)

        • Maxim Gorkov Читатель 23 января 2008 в 09:14 отредактирован 20 мая 2018 в 18:37
          FATы бывают разные

          Статья действительно маловата. Автор не указал что формат имен 8.3 имеет место для FAT16 (которая изначально была в DOS, когда винда была не операционной системой, а всего лишь оболочкой - типа Windows 3.1) А вот если стоит FAT32, то там можно использовать 255 символов в именах.
          Вообще FAT и NTFS принципиально(!) разные файловые системы, но это уже совсем другая статья.

          А почему все-таки нельзя создавать имена с такими символами???

          Ответ прост: например ":"
          Нельзя применять т.к. оно используется при обращении к логическому диску типа "C: , D: , A: и т.д."
          "\" используется для написания пути к каталогу или файлу типа "CWindows\win32.exe"
          к сожалению про другие символы точно не расскажу, есть только подозрения.

  • Полезная информация, спасибо. Частозадумывался, почему система так пишет, а времени посмотреть нет, ..

  • Виндоуз вообще очень капризная дама.

    А статья маловата, да и вступления не хватает.