1

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

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

2 ответа2

1

Полная информация о том, что разрешено из 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, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также избегайте этих имен, за которыми сразу следует расширение; например, NUL.txt не рекомендуется. Для получения дополнительной информации см. Пространства имен.

  • Не заканчивайте имя файла или каталога пробелом или точкой. Хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс этого не делают. Однако допустимо указывать точку в качестве первого символа имени. Например, «.temp».

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .