Секреты MS-DOS

Секреты MS-DOS? Да что там может быть секретного - все давно всем известно, все изучено, проверено и описано! Ан нет! На самом деле у большинства команд DOS имеются недокументированные параметры командной строки, которые невозможно увидеть даже при вызове справки через запрос в стиле: "имя_команды_ДOC /?". О некоторых таких командах и пойдет речь в данной статье.


Недокументированные параметры COMMAND.COM

  • COMMAND /F (MS-DOS версии 6.00 или выше)

COMMAND.COM с недокументированной опцией /F позволяет убирать обычно зацикленные надписи "Abort, Retry, Fail" и автоматически "отвечать" "Fail" на этот запрос, появляющийся при критических ошибках DOS. Например, если вы забыли вставить дискету в дисковод, сообщение об ошибке автоматически отключит запрос и вернется к DOS Prompt, послав значение Fail и тем самым избавив вас от необходимости нажимать клавишу "F". Этот параметр можно устанавливать в свойствах сеанса MS-DOS в Windows 95 либо прописывать его в файле CONFIG.SYS через параметр SHELL=путь к командному интерпретатору. Например: SHELL=C:\COMMAND.COM C:\ /E:512 /P /F.

СOMMAND.COM c этим параметром можно запускать и как отдельную, "чистую" сессию из уже запущенного DOS-сеанса.

  • COMMAND /Z (только Windows 95 или OSR2)

COMMAND.COM /Z показывает значение "ERRORLEVEL", возвращаемое после каждой запущенной внешней команды DOS (к ним относятся программы из каталога Win95\Command, например, mem или xcopy). Этот параметр позволяет с большим удобством обрабатывать различные события, ситуации и ошибки в процессе выполнения внешних команд DOS в bat-файлах. Этот параметр также можно устанавливать в свойствах сеанса MS-DOS в Windows 95 или включать его в файле CONFIG.SYS через параметр SHELL. Например: SHELL=C:\COMMAND.COM C:\ /E:512 /P /Z. Опять-таки СOMMAND.COM c этим параметром можно запускать и как отдельную сессию из уже запущенного DOS-сеанса, при этом вы увидите надпись о перезагрузке нерезидентной части командного интерпретатора, а также увидите результат включения параметра - надпись о возврате кода 0, что говорит о нормальном завершении операции.

Недокументированные параметры команды VER

  • VER /R (Windows 95 и выше)

Эта встроенная DOS-команда с недокументированным параметром /R позволяет не только вывести версию операционной системы, но и показать, в каком сегменте находится DOS (обычно HMA, если в CONFIG.SYS прописано DOS=HIGH).


Недокументированные параметры FDISK.EXE

  • FDISK /FPRMT (только Windows 95 OSR2 или позже)

FDISK /FPRMT включает возможность использования файловой системы FAT32 на жестких дисках с объемом меньше 512 мегабайт. По умолчанию FDISK не должен создавать FAT32 разделы на небольших дисках по причине несущественного или, вернее, практически отсутствующего на них выигрыша от использования FAT32. Это вполне понятно - потери места при таком размере дисков незначительны, так что отсутствие этой команды в описании MS-DOS вполне объяснимо. Также не забывайте о том, что FDISK лучше не запускать из сессии DOS под Windows 95/98. Правильным вариантом будет загрузка в режиме "чистого DOS'а" - Command Prompt через загрузочное меню Windows 95 по клавише F8.

  • FDISK x /PRI:ps /EXT:es /LOG:ls (MS-DOS 6.00 или выше)

Недокументированные параметры в этой длинной команде означают:

x = номер устройства (1, 2... и так далее). Под устройством с номером 1 естественно подразумевается первый жесткий диск;

/PRI:ps = создает на диске первичный (primary) раздел размером ps мегабайт;

/EXT:es = создает на диске вторичный (extended) раздел размером es мегабайт;

/LOG:ls = создает на вторичном разделе диска логические диски размером ls мегабайт.

  • FDISK /MBR (MS-DOS 6.00 или выше)

FDISK /MBR восстанавливает поврежденный boot-сектор винчестера, просто перезаписывая его (вернее говоря, на диск записывается новая MBR (Master Boot Record) без внесения изменений в конфигурацию разделов диска). Необходимо отметить, что перезапись основного загрузочного блока таким способом может сделать невидимыми диски, разбитые программой SStor. Кроме того, возможны проблемы с двойной загрузкой Windows 95, и без того некорректно работающей в OSR2.Также необходимо быть осторожными с дисками, имеющими более четырех разделов.

Кстати, с MBR существует еще одна не очень известная проблема, возникающая при установке новых винчестеров под Windows 95 после апгрэйда с MS-DOS версии 5.0 (или раньше). В этом случае у вас имеется основной диск с MBR, записанной FDISK'ом из старого MS-DOS. А когда вы добавляете еще один жесткий диск под Windows 95, вы разбиваете его FDISK'ом из состава девяностопятки (то бишь из версии MS-DOS 7.xx). Таким образом вы как бы имеете два диска, отформатированных и разбитых в разных операционных системах, так что Windows 95 не сможет обнаружить "старый" диск. В этом случае вам просто нужно обновить MBR, запустив FDISK с параметром /MBR. Опять-таки FDISK нужно запускать не из сессии DOS под Windows 95/98, а по F8 в режиме "чистого DOS'а" - Command Prompt или в режиме загрузки старой версии DOS (если у вас не OSR2).

В принципе существует и более простой способ обновления дефектной или сбойной MBR - запуск ScanDisc'a или другой подобной утилиты, правда, в этом случае возможна смена логических имен дисков, например, C на D и наоборот.

Недокументированные параметры FORMAT.COM

  • FORMAT диск: /Z:n (Windows 95 OSR 2.0 и выше)

Эта недокументированная опция позволяет форматировать диски с FAT32 файловой системой и с размером кластера, равным n раз по 512 байт. То есть при значении n равном 2, размер кластера будет равняться одному килобайту (2*512=1024).

Недокументированные параметры MEM.EXE

  • MEM /A (MS-DOS 6.00 и выше)

Внешняя команда DOS MEM с недокументированным параметром /A показывает стандартную информацию о памяти плюс информацию о сегменте HMA (High Memory Area). HMA - это небольшая 64-килобайтная область памяти выше первого мегабайта, куда обычно загружается ядро DOS, а также размещаются DOS-буфера. DOSтупом же к HMA заведует HIMEM.SYS, открывающий так называемую линию A20.

Для более полной информации можно воспользоваться комбинацией стандартных параметров MEM /A /C /P или MEM /D /A /P (для показа дополнительной информации о резидентных программах и модулях). К сожалению, поставить все параметры сразу программа не позволяет.


LFNFOR

  • LFNFOR [ON | OFF | /?] (Windows 95 и выше)

Ну и напоследок - просто неизвестная большинству пользователей встроенная команда DOS, отсутствующая в описаниях. Эта команда позволяет разрешать/запрещать использование длинных имен файлов при обработке команд FOR, используемых в bat-файлах.

Кирилл ВОЛОШИН,
www.chat.ru/~kira_v

Версия для печатиВерсия для печати

Номер: 

06 за 1998 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!