В Windows, какая максимальная длина имени файла считается приемлемой для приложения для вывода?(Обновлено и уточнено) - PullRequest
6 голосов
/ 30 декабря 2011

Многие приложения Windows (например, почти все приложения .NET) не могут открывать пути длиной более 260 символов.Я переименовываю список файлов подкастов.Я хочу назвать каждый файл после заголовка эпизода, но заголовки имеют длину до 100 символов.Это означает, что если пользователь сохраняет файл в глубоком каталоге с очень длинным путем, он может достичь предела и не сможет открыть файл в этих других приложениях.

Допустимо ли для моей программы поставитьтак долго называть имена файлов, и предоставить ли пользователю возможность иметь дело с очень длинными путями?iTunes обрезает 40 символов, но это выглядит очень консервативно.

Спасибо Бену Фойгту за разъяснение, что это относится только к определенным приложениям.

Ответы [ 2 ]

3 голосов
/ 30 декабря 2011

Windows НЕ имеет ограничения в 255 символов для путей к файлам.

CreateFileA имеет ограничение в 260 символов.CreateFileW поддерживает имена длиной до 32760 символов (64 КБ).

Некоторые файловые системы накладывают дополнительные ограничения на максимальный уровень вложенности каталогов или максимальную длину каждой части.

Возможно, выПодумайте о некоторых популярных программах Windows, которые имеют ограничение в 255 символов, но для тех из них, которые имеют предупреждение или настраиваемый пользователем параметр, вероятно, более уместно, чем добавление собственного жесткого ограничения .

0 голосов
/ 30 декабря 2011

Хорошо, я помню USB, который не поддерживал более 32 символов в имени файла (не могу вспомнить, какая у него FS).Я также только что нашел эту ссылку в Google: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

Ограничения количества символов также могут быть различными и могут варьироваться в зависимости от используемой файловой системы и формата префикса имени пути.Это дополнительно усложняется поддержкой механизмов обратной совместимости.Например, старая файловая система MS-DOS FAT поддерживает максимум 8 символов для базового имени файла и 3 символа для расширения, всего 12 символов, включая разделитель точек.Это обычно называется именем файла 8.3.Файловые системы Windows FAT и NTFS не ограничиваются именами файлов 8.3, поскольку они поддерживают длинные имена файлов, но они по-прежнему поддерживают версию длинных имен файлов 8.3.

...