Как создавать длинные имена файлов

Я пытаюсь создать имена файлов, длина которых превышает 260 знаков, чтобы я мог протестировать некоторое программное обеспечение. Кто-нибудь знает, как создать комбинацию имени файла/папки длиной более 260 символов?


1

По большей части для имен путей не определены ограничения, в то время как ограничение имени файла зависит от типа файловой системы:

  FAT16 = 255 UTF-16FAT32 = 255 UTF-16NTFS = 255 UTF-16ext3 = 255ext4 = 256  

Кроме того, ограничение имени файла может быть уменьшено при использовании глубокой иерархии.

Насколько мне известно, вы не можете превысить этот предел, и именно поэтому у вас есть метаданные файла. И если Microsoft говорит, что это их предел, то это перерыв. Я просто рад, что мы больше не придерживаемся лимита 8.3. Какому программному обеспечению на земле нужны такие длинные имена файлов?

Добавлены несколько тестовых примеров

  # path [100  ]  путь [100]  [файл 60] C:.!  0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789  ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ> эхо "тест"> система 012345678901234567890123456789012345678901234567890123456789.txtThe не может найти указанный путь # слишком длинный # путь [100]  путь [100]  [файл  50] C:  0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789  ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ> эхо "тест"> 01234567890123456789012345678901234567890123456789.txt # файл, созданный код> 

Улучшите этот ответ
отредактировал M 25 ’11, в 8:36
ответил 25 марта ’11 в 06:32
  • Программное обеспечение plm, например en.wikipedia.org/wiki/Product_lifecycle_management. довольно легко получить ОГРОМНЫЕ имена файлов. — акира, 25 марта 2011, в 8:15
  • Итак, вы имеете в виду системы, которые не используют надлежащие серверные части базы данных. А, тогда ладно. В этом случае рассматриваемое программное обеспечение PLM должно рассматривать это как проблему технической поддержки — я боюсь, что мало что можно сделать с ограничениями файловой системы RE. — инвертировать 25 марта ’11 в 8:32
  • нет, программное обеспечение, с помощью которого вы можете загружать файлы из соответствующей базы данных в свою файловую систему. — akira, 25 марта 2011, 10:51
  • Возможно, имена файлов/папок больше 255. Этот вопрос superuser.com/questions/78434/… является доказательством. Я просто не знаю, как их создать — Ник 25 марта 2011 г., 15:43
  • @Nick Отдельные компоненты пути должны быть до 255. Полный путь может содержать до 65534 символов Unicode в Windows и неограничен в Linux (хотя вы не можете напрямую обращаться к путям дольше чем 4096 символов в Linux — вам необходимо использовать относительные пути) — Пол Стелиан, 22 июня ’19, 21:08
| показать 1 дополнительный комментарий

По большей части пути не имеют ограничений, в то время как ограничение имени файла зависит от типа файловой системы:

  FAT16 = 255 UTF-16FAT32 = 255 UTF-16NTFS = 255 UTF-16ext3 = 255ext4 = 256  

Кроме того, ограничение имени файла может быть уменьшено при использовании глубокой иерархии.

AFAIK вы не можете превысить этот предел, и именно поэтому у вас есть метаданные файла. И если Microsoft говорит, что это их предел, то это перерыв. Я просто рад, что мы больше не придерживаемся лимита 8.3. Какому программному обеспечению на земле нужны такие длинные имена файлов?

Добавлены несколько тестовых примеров

  # path [100  ]  путь [100]  [файл 60] C:.!  0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789  ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ> эхо "тест"> система 012345678901234567890123456789012345678901234567890123456789.txtThe не может найти указанный путь # слишком длинный # путь [100]  путь [100]  [файл  50] C:  0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789  ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ> эхо "тест"> 01234567890123456789012345678901234567890123456789.txt # файл, созданный код> 

имя файла Long

Иногда сокращенно LFN , длинный файл имя — имя компьютерного файла что позволяет использовать неограниченное количество символов. С LFN пользователи могут давать подробные описательные имена своим файлам и каталогам. LFN был широко представлен потребителям с выпуском Microsoft Windows 95 в качестве обновления до формата именования 8.3 без учета регистра в Windows 3 и MS-DOS. До Windows 95 длинные имена файлов были только функцией современных файловых систем, но они не поддерживались ранними версиями Microsoft Windows и MS-DOS.

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

  • Почему длинные имена файлов полезны.
  • Ранние версии Windows, MS-DOS и FAT.
  • Windows 95 и VFAT.
  • Утилита LFNBK.
  • Windows NT, 2000 и XP.
  • Windows 95, 98 и ME.
  • Длинные имена файлов с пробелами.
  • Длинные имена каталогов.
  • Длинные имена файлов для сохранения неправильно как имена 8.3.
  • Длинные имена, которые сокращаются в командной строке Windows.
  • Связанные страницы.

Почему длинные имена файлов полезны

Длинные имена файлов отлично подходят для пользователя, потому что они позволяют использовать описательные и конкретные имена файлов. Например, если вы скопировали цифровую фотографию со своего фотоаппарата на компьютер, вы можете переименовать загадочное имя во что-нибудь более информативное:

 Пятый день рождения Билли, как раз в тот момент, когда он задул свечи.jpg  

Ваша операционная система знает, как обрабатывать это имя, включая знаки препинания, пробелы и заглавные буквы.

Ранние версии Windows, MS-DOS и FAT

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

Если бы вы использовали одну из этих операционных систем, вам пришлось бы переименовать свою фотографию примерно так:

 BILLY5BD.JPG 

Windows 95 и VFAT

Windows, наконец, добавила поддержку длинных имен файлов в Windows 95, присоединившись к другим операционным системам, таким как Unix, OS/2, и macOS, которая уже включала поддержку длинных имен файлов.

Выпущенная в августе 1995 года, Windows 95 содержала новую версию FAT, называемую VFAT, которая поддерживала имена файлов с максимальной длиной 255 символов. Все это было выполнено без потери обратной совместимости с существующими томами DOS. Из-за обратной совместимости длинные имена файлов, если они есть, преобразуются с помощью VFAT в исходное соглашение об именах файлов формата 8.3, каждый файл претерпевает следующие изменения.

  1. Расширенные символы +,; = [и] преобразуются в символы подчеркивания (_).
  2. Первые три символа после точки становятся расширением.
  3. Пробелы игнорируются.
  4. Первые шесть оставшихся символов преобразуются в верхний регистр.
  5. Последние два символа после первых шести становятся «~ 1». Если существует другой файл с такими же первыми шестью символами и ~ 1, имя файла преобразуется в «~ 2». Этот процесс продолжается для всех файлов в каталоге. Если у вас более девяти файлов с одинаковыми первыми девятью символами, десятый файл становится ~ 10, используя последние три символа..

Для доступа к длинному имени файла или каталогу, например «моему длинному имени файла или каталогу», пользователю необходимо использовать его короткое имя MS-DOS. Пример показан ниже.

 mylong ~ 1 

Утилита LFNBK

Установочный носитель Windows 95 и 98 включал длинное имя файла утилита резервного копирования под названием LFNBK . Варианты утилиты распространялись в виде исполняемых файлов, включая LFNBK.EXE , DOSLFNBK.EXE и SULFNBK.EXE . Эти внутренние утилиты Windows использовались для резервного копирования или восстановления информации о длинных именах файлов. Эти утилиты следует использовать с осторожностью, потому что они могут навсегда изменить вашу файловую систему. Например, запуск LFNBK/A/BC: может удалить длинные имена файлов из тома VFAT на диске C :, и сохранить их в текстовом файле с именем LFNBK.DAT я>. Длинные имена файлов можно будет восстановить позже, выполнив команду LFNBK/R.

Зарезервированные символы

Длинный файл имена в Windows могут содержать любой печатный символ, кроме следующих зарезервированных символов:

/: *?  " | 

Windows NT, 2000 и XP

В отличие от более ранних версий Windows, пользователи могут получить доступ к командной строке Windows с помощью CMD вместо команды КОМАНДА . Если вы открываете командную строку из Выполнить , введите CMD вместо КОМАНДА , и вы можете использовать полное длинное имя файла вместо короткого имени формата 8.3.

  • В чем разница между COMMAND.COM и CMD. EXE?

Windows 95, 98 и ME

Доступ к длинным именам файлов может измениться в зависимости от того, как вы вошли в MS-DOS. в окне MS-DOS (оболочка MS-DOS, также известная как командная строка Windows), вы можете получить доступ к длинному имени файла, введя полное длинное имя файла. Если файл содержит пробелы или имя файла или каталога длиннее восьми символов, поместите заключите в кавычки длинное имя файла, как показано ниже.

 cd "program files" 

Если вы вышли из Windows в командной строке MS-DOS или загрузились с загрузочной дискеты , вам нужно использовать короткий fi le соглашение об именах. Например, если вы пытаетесь попасть в каталог «Program Files», введите следующую команду.

 cd program ~ 1 
Примечание

В более поздних версиях Microsoft Windows (например, Microsoft Windows 2000 или Windows XP) некоторые команды в оболочке могут содержать пробелы без заключения в кавычки.

Длинные имена файлов с пробелы

Чтобы получить доступ к длинному имени файла или каталога, содержащему пробелы, поместите имя каталога или имя файла в двойные кавычки. Пример того, как попасть в каталог программных файлов, будет выглядеть так:

 cd "program files" 

Длинные имена каталогов

Если вы пытались получить доступ к каталогу «Microsoft Office» в каталоге «Program Files», вы могли бы ввести:

 cd "program files  microsoft office" 

или

 cd "c:  program files  microsoft office" 

Длинные имена файлов, которые неправильно сохраняются как имена 8.3

Если вы попробуйте сохранить файл с длинным именем, но оно будет обрезано до короткого имени файла в формате 8.3, используемое вами программное обеспечение может не поддерживать VFAT. Если возможно, обратитесь к разработчику или поставщику программного обеспечения за официальным решением. Если ничего не доступно, вы можете быть ограничены короткими именами файлов при использовании этого программного обеспечения.

Длинные имена, которые сокращаются в командной строке Windows

Если компьютер загружается из командной строки или вы используете загрузочную дискету Windows 98 и используете длинные имена файлов, ваши файлы перезаписываются. Эта проблема является известной проблемой Microsoft Windows 98, и мы рекомендуем в MS-DOS не использовать длинные имена файлов, а вместо этого использовать имена обычных файлов формата 8.3.

Связанные страницы

  • Как исправить потерянные длинные имена файлов при копировании или перемещении файлов.
  • Информация о расширениях имен файлов и поддержка.
  • Справка и поддержка компьютерных файлов.

Компьютерные сокращения, Файл, Имя файла, Joliet, Термины операционной системы

Оцените статью
logicle.ru
Добавить комментарий