Я проектирую таблицу базы данных, которая будет содержать имена загруженных файлов. Какова максимальная длина имени файла в NTFS, используемого Windows XP или Vista?
windows-vista
windows-xp
ntfs
filenames
name-length
GateKiller
источник
источник
Ответы:
Отдельные компоненты имени файла (т. Е. Каждый подкаталог вдоль пути и окончательное имя файла) ограничены 255 символами, а общая длина пути - примерно 32 000 символов.
Однако в Windows нельзя превышать
MAX_PATH
значение (259 символов для файлов, 248 для папок). Видетьhttp://msdn.microsoft.com/en-us/library/aa365247.aspx для полной информации.источник
Это 257 символов. Если быть точным: NTFS сама устанавливает максимальную длину имени файла в несколько тысяч символов (около 30 000 с чем-то). Однако Windows устанавливает максимальную длину 260 для пути + имя файла. Папка drive + занимает не менее 3 символов, поэтому вы получите 257.
источник
Вот что говорит «Необработанное исключение» в Framework 4.5 при попытке сохранить файл с длинным именем файла:
источник
199 на Windows XP NTFS, я только что проверил.
Это не теория, а просто примерка моего ноутбука. Могут быть смягчающие эффекты, но это физически не позволит мне увеличить его.
Интересно, есть ли другие ограничения, ограничивающие это? Попробуйте сами.
источник
w
, удалил его и создал папку с таким же именем в Windows 7 x64. Теперь вопрос в том, что является здесь ограничивающим фактором: версия NTFS, ОС или подсистема или Win32 API в XP?По данным MSDN , это 260 символов. Он включает в себя
"<NUL>"
- невидимый завершающий нулевой символ, поэтому фактическая длина составляет 259.Но прочитайте статью, это немного сложнее.
источник
\\?\
префикс во время выполнения до некоторой неопределенной длины. Путь должен оставаться ниже 32767 байт после этого расширения.Длина в NTFS составляет 255.
NameLength
Поле в$Filename
атрибуте NTFS является байтом без смещения; это дает диапазон 0-255.Имя файла iself может находиться в разных «пространствах имен». Пока есть: POSIX, WIN32, DOS и (WIN32DOS - когда имя файла может быть изначально именем DOS). (Поскольку строка имеет длину, она может содержать \ 0, но это может привести к проблемам и не находится в указанных выше пространствах имен.)
Таким образом, имя файла или каталога может содержать до 255 символов. При указании полного пути в Windows необходимо указать префикс пути \\? \ (Или использовать \\? \ UNC \ server \ share для путей UNC), чтобы пометить этот путь как расширенный (~ 32 тыс. Символов) , Если ваш путь длиннее, вам придется установить свой рабочий каталог по пути (тьфу - побочные эффекты из-за настройки всего процесса).
источник
255 символов.
http://en.wikipedia.org/wiki/Filename
источник
Я добавляю это к утвержденному выше ответу.
ЧТОБЫ ПРОЧИТАТЬ, причина, по которой люди считают, что это 255-260 символов, в том, что это все, что поддерживает Windows Explorer. Он будет ошибочно делать что-то вроде копии файла с именами файлов длиннее. Тем не менее, программа может читать и записывать гораздо более длинные имена файлов (именно так вы получаете длины, на которые в первую очередь жалуется Explorer). «Рекомендуемое исправление» Microsoft в подобных ситуациях - открыть файл в исходной программе, в которой он был написан, и переименовать его.
источник
В соответствии с новой документацией Windows SDK (8.0) создается впечатление, что введен новый предел пути. Существует новый набор функций обработки пути и определение PATHCCH_MAX_CCH, например:
источник
В этой части официальной документации четко сказано, что это 255 символов Unicode для NTFS, exFAT и FAT32 и 127 символов Unicode или 254 ASCII для UDF.
Кроме того, максимальная длина имени пути всегда составляет 32 760 символов Юникода, причем каждый компонент пути не должен превышать 255 символов.
источник
WCHAR
элементов. Нет, это не «символы Unicode» (проверьте терминологию Unicode: кодовые точки, символы и т. Д.!!).255 символов, хотя полный путь также не должен быть длиннее. В Википедии есть хорошая таблица на эту тему : http://en.wikipedia.org/wiki/Filename .
источник
238! Я проверил это под Win7 32 бит с помощью следующего скрипта bat:
источник
w
). И что теперь?На самом деле это 256, см. Сравнение функциональных возможностей файловой системы, ограничения .
Повторить пост на http://fixunix.com/microsoft-windows/30758-windows-xp-file-name-length-limit.html
Если вы прочитаете приведенные выше посты, вы увидите, что есть 5-я вещь, в которой вы можете быть уверены: найти хотя бы одного упрямого пользователя компьютера!
источник
Я не могу создать файл с именем + period + extnesion в WS 2012 Explorer длиной более 224 символов. Не стреляйте в курьера!
В CMD того же сервера я не могу создать имя длиной более 235 символов:
Файл с именем из 224 символов, созданный в Проводнике, нельзя открыть в Notepad ++ - вместо этого он просто создает новый файл.
источник
The system cannot find the path specified.
это не то же самое, чтоThe specified path, file name, or both are too long.
. Я думаю, у вас была опечатка или что-то. Это сообщение появляется, если вы пытаетесь создать файл по несуществующему пути или если вы хотите перейти в несуществующее направление.