Почему я не могу создавать файлы / папки с этими именами?
Может кто-нибудь предоставить мне подробности того, почему 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.
На странице, полученной с (Источник), вы можете найти дополнительную информацию.