http://nostalgy.org.ru
(c)2002 М.Бабичев
25 декабря 2003 г.

Статья
Поддержка длинных имен файлов в DOS
Весьма давно,  года четыре назад,  когда у меня была  только
386  машина  без жесткого диска - мне понадобилось открыть с
дискеты документ в формате Word,  созданный в Windows 95.  У
документа было длинное имя,  да еще записанное русскими бук-
вами. Поэтому он просто не прочитался. У меня была загружена
MS-DOS  6.22,  для  просмотра  файлов я пытался использовать
Norton Comander 4.0.

Впрочем, Norton здесь не при чем.  Сама операционная система
DOS  не понимала такое имя.  Теперь-то мне ясно,  что просто
надо было при загрузке DOS выбрать русскую кодовую страницу.
Тогда файл с именем,  записанным русскими буквами прочитался
бы.  Установить русскую кодовую страницу очень просто, равно
как  и любую другую - в файле CONFIG.SYS надо прописать сле-
дующую переменную:

Country=007,866,с:\dos\country.sys

(здесь предполагается, что драйвер COUNTRY.SYS лежит в ката-
логе C:\DOS).  Номер русской кодовой страницы - 866.  Теперь
даже DOS 6.x сможет прочитать файлы с  именами,  записанными
русскими  буквами.  А также удалить каталоги и файлы,  вроде
"C:\WIN\Избранное\События Веба.url" (иногда приходится  уда-
лять сломавшийся Windows из-под ДОСа, но такие файлы не уда-
ляются, а значит стереть каталог C:\WIN не удастся).

Итак, с этими файлами вы можете работать,  как  и  с  любыми
другими.  Но  отображаются  они  в DOS (а значит и в панелях
Нортона,  Волкова...) весьма некрасиво, например, вышеупомя-
нутый  файл будет назван:  "C:\WIN\ИЗБРАНН~1\СОБЫТИЯ~1.URL".
Конечно,  оболочки вроде Нортона или Волкова просто не могут
отобразить  длинные  имена,  их  панели не поддерживают имен
длиннее 8+3 символов.

Зато есть более современные оболочки:  Dos  Navigator  2.00,
Folder Manager могут отображать длинные имена корректно.  Но
только при работе в среде Windows.  В DOS (и в т.н.  "режиме
эмуляции DOS", хотя это название не совсем верно) имена фай-
лов будут выглядеть как в Нортоне, усеченными.

Более того,  при копировании этих файлов произойдет усечение
имени  до "8+3" символов.  Вот в чем беда!  Сейчас во многих
случаях в имени содержится нужная информация, напр. название
песни  и  исполнителя  для  MP3-файла.  И вместо,  например:
"C:\Музыка\Российская\Игорь Тальков - Лучший день.mp3" полу-
чится "D:\МУЗЫКА\РОССИЙ~1\ИГОРЬТ~1.MP3".  Другие песни Таль-
кова будут с именами "ИГОРЬТ~2.MP3",  "ИГОРЬТ~3.MP3"  и  так
далее. Очевидно, вам будет сложно разобраться, что к чему.

Но к счастью,  есть специальные драйверы для поддержки длин-
ных имен в DOS.  Наиболее удобный,  как мне представляется -
это  DOSLFN  v0.32b,  его  написал Henrik Haftmann.  Драйвер
Freeware, с исходниками, работает на 386 и выше.

Поддерживаются самые разные языки  (кодовые  страницы).  Нас
интересует,  в основном страница 866, поэтому надо использо-
вать файл cp866uni.tbl и запускать драйвер таким образом:

doslfn.com -z:cp866uni.tbl

В результате вы можете в Dos Navigator 2.0, Folder Manager и
т.д.  работать с длинными файлами (смотреть, копировать, пе-
реименовывать) так же свободно, как и в Windows. Разумеется,
автор DOSLFN не гарантирует сохранности данных при использо-
вании его драйвера,  но так заявляют все :-),  в том числе и
ваш покорный слуга.  Вроде бы ничего не пропадает и не теря-
ется...

Осталось добавить, что драйвер DOSLFN вы можете найти на на-
шем сайте  nostalgy.org.ru в секции "Утилиты".  Вам нужны из
из всего архива DOSLFN.ZIP всего  два  файла:  DOSLFN.COM  и
CP866UNI.TBL  (остальные  вряд  ли понадобятся,  хотя всякое
возможно), поместив их, скажем на загрузочную дискету, благо
места займут всего 11 Кб...  Для запуска драйвера удобно ис-
пользовать командный файл LONG.BAT.

Антиквар

P.S. Если мне сейчас приходится на 386 машине под DOS откры-
вать документ Word 2000, я использую замечательную программу
AntiWord,  конвертирующую документ Word в  чистый  текстовый
ASCII-файл. AntiWord есть на нашем сайте в секции "Текстовые
редакторы".

назад к списку текстов