Почему я не могу создавать файлы / папки с этими именами?

Может кто-нибудь предоставить мне подробности того, почему Windows не позволяет создавать файлы / папки с именами ниже?

  • PRN
  • AUX
  • NUL
  • LPT1
  • COM1
  • Потенциальная буква диска - от A: до Z:
  • Другие персонажи (такие как <(меньше, чем), >(лучше чем), :(двоеточие), "(двойная кавычка), /(косая черта), \(Обратный слэш), |(вертикальная черта или труба), ?(вопросительный знак), *(Звездочка)

2 ответа

Полная информация о том, что разрешено из MSDN:

http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

  • Используйте точку для отделения имени базового файла от расширения в имени каталога или файла.

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

  • При необходимости используйте обратную косую черту как часть имен томов, например, "C:\" в "C:\path\file" или "\server\share" в "\server\share\path\file" для Universal Соглашение об именах (UNC). Дополнительные сведения об именах UNC см. В разделе "Ограничение максимальной длины пути".

  • Не предполагайте чувствительность к регистру. Например, предположим, что имена OSCAR, Oscar и oscar совпадают, хотя некоторые файловые системы (такие как POSIX-совместимая файловая система) могут рассматривать их как разные. Обратите внимание, что NTFS поддерживает семантику POSIX для чувствительности к регистру, но это не поведение по умолчанию. Для получения дополнительной информации см. CreateFile.

  • Обозначения громкости (буквы дисков) также чувствительны к регистру. Например, "D:\" и "d:\" относятся к одному и тому же тому.

  • Используйте любой символ в текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128–255), за исключением следующего:

    • Следующие зарезервированные символы:

      • <(меньше чем)
      • (лучше чем)

      • : (двоеточие)
      • "(двойная кавычка)
      • / (косая черта)
      • \ (обратная косая черта)
      • | (вертикальная черта или труба)
      • ? (вопросительный знак)
      • * (звездочка)
    • Целочисленное значение ноль, иногда его называют символом ASCII NUL.

    • Символы, чьи целочисленные представления находятся в диапазоне от 1 до 31, за исключением альтернативных потоков, где эти символы разрешены. Для получения дополнительной информации о файловых потоках см. Файловые потоки.

    • Любой другой символ, который целевая файловая система не позволяет.

  • Используйте точку в качестве компонента каталога в пути для представления текущего каталога, например ".\ Temp.txt". Для получения дополнительной информации см. Пути.

  • Используйте два последовательных периода (..) в качестве компонента каталога в пути для представления родителя текущего каталога, например "..\temp.txt". Для получения дополнительной информации см. Пути.

  • Не используйте следующие зарезервированные имена устройств для имени файла:

    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".

Кроме того, ни пробел, ни точка не могут быть использованы в конце имени. Кроме того, файлы не могут иметь следующие зарезервированные имена устройств: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7 LPT8 и LPT9. Обратите внимание, что дело не имеет значения в Windows.

На странице, полученной с (Источник), вы можете найти дополнительную информацию.

Другие вопросы по тегам