Главная страница

Фигурнов В.Э. IBM PC для пользователя. Книга содержит подробное и доступное для начинающих описание возмож


Скачать 5.4 Mb.
НазваниеКнига содержит подробное и доступное для начинающих описание возмож
АнкорФигурнов В.Э. IBM PC для пользователя.doc
Дата01.02.2017
Размер5.4 Mb.
Формат файлаdoc
Имя файлаФигурнов В.Э. IBM PC для пользователя.doc
ТипКнига
#1585
страница67 из 98
1   ...   63   64   65   66   67   68   69   70   ...   98

Глава 40. Настройка конфигурации DOS
Установка

переменных

окружения
Часто используемые

переменные

окружения
Примеры
Запуск необходимых

программ
Загрузка экранных

шрифтов
Драйверы

клавиатуры
формацию о текущем каталоге и символ ">", например C:\WORK\DOC> . Такое приглаше-

ние обычно и используется.
Замечании. Если при запуске DOS был установлен драйвер ANSI.SYS, то в приглашении

DOS можно использовать различные цвета символов и фона.
Как указывалось в главе 21, DOS имеет специальную область памяти, называемую

окружением (environment), в которой она хранит набор строк символов, которые мо-

гут использоваться программами. Каждая строка символов в окружении имеет вид

имя-переменной=значение , где имя-переменной Ч это строка символов, не содер-

жащая знаков равенства и пробелов, а значение Ч любая строка символов. Для уста-

новки переменных окружения может использоваться команда DOS Set. Формат коман-

ды:
set переменная = значение
Здесь переменная Ч любая строка, не содержащая знаков равенства и пробелов, а

значение Ч любая строка символов. При выполнении команды DOS преобразует в

имени переменной (но не в значении) строчные буквы в прописные.
Наиболее часто используются следующие переменные окружения:
TEMP Ч указывает имя каталога, в котором многие программы создают временные фай-

лы;
ТМР Ч отдельные старые программы создают временные файлы не в каталоге, заданном
переменной TEMP, а в каталоге, заданном переменной ТМР;
BLASTER Ч указывает параметры звуковой карты, без этого некоторые DOS-программы

не могут работать с Sound Blaster-совместимыми звуковыми картами. Например,

SET BLASTER=a330 19 d1 t2 сообщает программам, что звуковая карта имеет базо-

вый порт ввода-вывода 330, ей назначено прерывание IRQ номер 9, канал DMA 1,

а тип карты Ч 2 (совместимый с Sound Blaster Pro);
COMSPEC Ч указывает имя и расположение командного интерпретатора DOS (обычно

Ч COMMAND.СОМ). Переменная COMSPEC устанавливается также командой

Shell файла CONFIG.SYS (см. выше).
set TEMP- C:\WINDOWS\TEMP

set ТМР- C:\WINDOWS\TEMP

SET BLASTER-аЗЗО 19 d1 t2

set COMSPEC=C:\COMMAND.COM
Замечание. Если размер области, выделенной для переменных окружения, оказывается

недостаточным, при выполнении команды Set будет выдано сообщение "Out of environment

space". Вы можете увеличить размер этой области, задав значение параметра /Е в команде

Shell файла CONF16.SYS (см. выше).
В файл AUTOEXEC.BAT целесообразно включить команды запуска программ, которые

устанавливают привычную рабочую обстановку на компьютере. Однако излишне пере-

гружать файл AUTOEXEC.BAT не следует, так как это увеличивает время загрузки.

Лучше туда включать только команды для запуска самых необходимых программ, уда-

ляя или превращая в комментарии те команды, которые больше не нужны. Особенно

следует обращать внимание на запуск резидентных программ, поскольку они занимают

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

TOEXEC.BAT.
Если видеоконтроллер компьютера не русифицирован аппаратно, то для отображения

русских букв в текстовом режиме монитора следует предварительно загрузить русские

буквы в знакогенератор видеоконтроллера. Как уже говорилось в параграфе 40.5, в MS

DOS, начиная с версии 6.22, это можно сделать с помощью команды Mode. Необходи-

мо только, чтобы в файле CONFIG.SYS был установлен драйвер DISPLAY.SYS. Это

делается командами (предполагается, что файлы MS DOS находятся в каталоге

C:\EXE\MSDOS):
MODE CON CODEPAQE PREPARE=((866.) C:\EXE\MSDOS\EGA3.CPI)

MODE CON CODEPAGE SELECT=866
В предыдущих версиях DOS (до 6.22) можно использовать соответствующие програм-

мы-русификаторы, например UNISCR Л.Г.Бунича, Beta Plus фирмы ПараГраф и т.д.
Для того чтобы в программах DOS с клавиатуры можно было вводить русские буквы,

необходимо установить драйвер клавиатуры, который мог бы переводить клавиатуру в

режим ввода русских букв. Как уже говорилось в параграфе 40.6, в версиях MS DOS,


Часть 8. Настройка конфигурации MS DOS
Программы для

облегчения

редактирования

командной строки
Программа MSCDEX Ч

доступ к компакт-

дискам
Программа SMARTDRV

Ч кэширование

дисков
начиная с 6.22, для русификации клавиатуры можно использовать драйвер KEYB. Это

может делаться командой (мы предполагаем, что файлы MS DOS располагаются в ка-

талоге C:\EXE\MSDOS):
KEYB RU, ,C:\EXE\MSDOS\KEYBRD2.SYS
После установки драйвера KEYB переключение на латинский и русский режимы кла-

виатуры осуществляется нажатиями комбинаций клавиш [АГГ) [левый Shift) и

ГАТТ) (Правый Shift) соответственно.
Можно использовать и другие драйверы клавиатуры, тем более что они занимают

меньше места в памяти, позволяют задавать раскладку клавиатуры, вводить псевдо-

графические символы, указывать цветом бордюра текущий режим работы клавиатуры.

Так, драйвер UNIKBD Л.Г.Бунича при запуске командой UNIKBD /1В2,4 /KA:LSRS выво-

дит в "русском" режиме зеленую кайму у экрана, а в "псевдографическом" режиме Ч

красную кайму. Переключение на латинский режим осуществляется нажатием левой

клавиши (Shift), на русский режим Чнажатием правой клавиши (Shifti, на псевдо-

графический режим Ч обеих клавиш (Shift). Можно задавать и раскладку клавиату-

ры.
Замечание Часто функции драйвера клавиатуры и загрузки экранных шрифтов объединя-

ются в одной программе.
Возможности по редактированию вводимых команд, предоставляемые DOS, весьма

ограничены и неудобны. Поэтому многие пользователи запускают какую-либо специ-

альную резидентную программу, позволяющую выводить в командную строку одну из

нескольких последних введенных команд и редактировать команду в командной строке

более удобным образом. Описание возможностей одной из таких программ Ч про-

граммы DOSKEY Ч приведено в главе 16. Впрочем, если Вы применяете программу-

оболочку типа Norton Commander, то программа для редактирования командной стро-

ки Вам не требуется Ч все необходимые функции обычно выполняет программа-

оболочка.
Если Ваш компьютер оснащен дисководом для компакт-дисков, то для обеспечения

доступа к компакт-дискам потребуется программа MSCDEX.EXE (см. параграф 40.8).

Эта программа позволяет работать с компакт-диском как с большой дискетой, хотя на

самом деле данные на компакт-диске хранятся совершенно по-другому. Команда вызова

программы MSCDEX.EXE может быть такой:
С: \EXE\MSDOS\MSCDEX. EXE /D: MSCDOO
Здесь предполагается, что программа находится в каталоге C:\EXE\MSDOS, а

MSCDOO Ч имя, которое было присвоено дисководу при вызове драйвера, обеспечи-

вающего физический доступ к компакт-диску (см. параграф 40.8).
Если Ваш компьютер оснащен хотя бы 1 Мбайтом оперативной памяти, то для повы-

шения производительности может быть очень полезно использовать кэширование дис-

ков. Для этого можно использовать программу SMARTDRV (см. параграф 40.9). Уп-

рощенный формат вызова программы:
SMARTDRVC. EXEj ^размер-кэша (paзмep-кэшa-noд-Windows')

) [/X]
Здесь параметр размер-кэша указывает размер кэша в Кбайтах при работе в DOS;

параметр размер-кэша-под-Windows Ч размер кэша (в Кбайтах) при работе в

Windows. Если размеры кэша не заданы, они устанавливаются по умолчанию. Пара-

метр /X, если он задан, запрещает кэширование операций записи со всеми дисками,

кроме тех, для которых оно явно включено (это снижает производительность кэширо-

вания, но обеспечивает его полную безопасность). Более подробно использование про-

граммы SMARTDRV описано в параграфе 40.9.
Например, команда вызова программы может быть такой: C:\EXE\MSDOS\SMARTDRV.EXE

2048 1536 /X Ч здесь предполагается, что файл SMARTDRV.EXE находится в каталоге

C:\EXE\MSDOS, размер кэша устанавливается 2048 Кбайт (2 Мбайта) при работе в

DOS и 1536 Кбайт (1,5 Мбайта) при работе в Windows, а кэширование записи запре-

щается.
Замечания. 1. Для кэширования дисков программой SMARTDRV необходимо, чтобы ком-

пьютер был оснащен расширенной памятью и чтобы диспетчер расширенной памяти

(например, HIMEM.SYb) был загружен до запуска программы SMARTDRV. Для кэширова-

ния компакт-дисков необходимо, чтобы программа MSCDEX была запущена до

SMARTDRV.
Глава 40. Настройка конфигурации DOS
Вызов антивирусных

программ
Обслуживание и

резервирование

дисков
Программа-оболочка
Пример файла

AUTOEXEC.BAT
2. Кэширование дисков не нужно при наличии кэшированного контроллера дисков (там

кэширование осуществляет аппаратно сам контроллер), а также при работе в среде графи-

ческой оболочки Windows 95, которая кэширует диски сама.
Для защиты от вирусов в файл AUTOEXEC.BAT часто вставляют команды вызова ан-

тивирусных программ. Здесь применяются три типа программ:
Х программы-ревизоры выявляют изменения на дисках и при обнаружении подозри-

тельных (характерных для вирусов) изменений докладывают об этом пользователю.

Примером таких программ является ADinf из антивирусного комплекса DSAV фир-

мы "Диалог-Наука";
Х программы-детекторы проверяют файлы на дисках на наличие вирусов. Приме-

рами таких программ являются Aidstest и Dr. Web из антивирусного комплекса

DSAV фирмы "Диалог-Наука", программа NAV из Norton Antivirus. Иногда про-

граммы-детекторы работают "в паре" с программами-ревизорами. Например, про-

граммы Aidstest и Dr. Web могут проверять только файлы из списка новых и изме-

ненных файлов, составленного программой ADinf:
Х программы-сторожа Ч это резидентные программы, которые могут проверять

запускаемые программы на наличие в них вирусов, вставляемые дискеты Ч на за-

раженность загрузочным вирусом, а также "перехватывать" запросы на выполнение

различных "подозрительных" действий, т.е. операций, которые используют компью-

терные вирусы для своего "размножения" и для порчи информации в компьютере

(скажем, запись в файл COMMAND.СОМ или в загрузочный сектор на жестком

диске). При выявлении таких ситуаций на экран компьютера выводится сообщение,

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

таких программ являются NAVTSR из Norton Antivirus, NA.VBRES из Norton

Antivirus для Windows 95.
Наилучшую защиту от вирусов дает совместное использование всех трех' типов про-

грамм. Более подробно о защите от вирусов говорится в главах 11 и 36.
Некоторые пользователи вставляют в файл AUTOEXEC.BAT команды для выполнения

программ обслуживания дисков (см. главу 35):
Х Image Ч создание копий системных областей диска:
Х NDD Ч проверка файловой структуры и поверхности диска;
Х SpeeDisk Ч оптимизация размещения файлов на диске.
Иногда в файл AUTOEXEC.BAT вставляют и команды для запуска резервирования

файлов (в этой книге программы резервирования для DOS не описываются, а о резер-

вировании в среде Windows говорится в главе 50).
Однако выполнение программ обслуживания дисков и резервирования занимает много

времени (за исключением, разве лишь, выполнения программы Image), Да и выпол-

няться многие из этих программ должны не каждый раз при загрузке DOS, а, скажем,

раз в день или даже раз в неделю. Поэтому ниже мы опишем, как можно выполнять

отдельные команды или группы команд из файла AUTOEXEC.BAT лишь раз в день или

раз в неделю, а также пропускать части файла AUTOEXEC.BAT с помощью нажатия

на ту или иную клавишу. Там же будет приведен пример вызова программ обслужива-

ния дисков.
Если Вы привыкли использовать какую-либо программу-оболочку типа Norton

Commander, то целесообразно вставить в конец файла AUTOEXEC.BAT команду для

запуска соответствующей программы.
В заключение приведем пример файла AUTOEXEC.BAT с комментариями. В примере

предполагается, что файлы MS DOS находятся в каталоге C:\EXE\MSDOS.
@>echo off
rem Установка пути поиска программ

path С:\ЕХЕ; C:\EXE\MSDOS; C:\EXE\NU; C:\WINDOWS; D:\BC
rem Установка вида приглашения DOS

prompt $p$g
rem Установка переменных окружения

set TEMP= C:\WINDOWS\TEMP

set TMP = C:\WINDOWS\TEMP

SET BLASTER=a330 i9 d1 12
rem Загрузка русских букв в знакогенератор

MODE CON CODEPAGE PREPARE=((866) C:\EXE\MSDOS\EGA3.CPI)

MODE CON CODEPAGE SELECT=866

rem Запуск драйвера клавиатуры


Часть 8. Настройка конфигурации MS DOS
KEYB RU, ,C:\EXE\MSDOS\KEYBRD2.SYS
rem Запуск командного файла для проверки на наличие вирусов

call C:\EXE\ANTIVIR\VIRTEST.BAT
rem Запуск программы MSCDEX (доступ к компакт-диску)

С: \EXE\MSDOS\MSCDEX. EXE /D: MSCDOO

rem Запуск программы SMARTDRV (кэширование дисков)

C:\EXE\MSDOS\SMARTDRV.EXE /X

rem Запуск программы Norton Commander

NC
c^
При первом чтении Вы можете остаток главы пропустить

или просмотреть "по диагонали".
40. 12. Пропуск части файла AUTOEXEC.BAT
Зачем это нужно
Выполнение команд

раз ч день
Пример
Многие пользователи вставляют в файл AUTOEXEC.BAT команды для выполнения

программ обслуживания дисков (см. главу 35) или резервирования данных. Вроде бы

это удобно, но многие из этих программ должны выполняться не каждый раз при за-

грузке DOS, а раз в день или даже раз в неделю. Поэтому таким пользователям прихо-

дится завершать эти программы принудительно, когда они запускаются лишний раз,

либо вставлять в файл AUTOEXEC.BAT меню, в котором требуется выбрать тот или

иной вариант действий (см. п. 40.15). Все это достаточно утомительно. Однако суще-

ствуют и более удобные и не требующие внимания пользователя способы выбора того

или иного варианта выполнения файла AUTOEXEC.BAT (как, впрочем, и любого дру-

гого командного файла). Ниже мы опишем, как можно выполнять отдельные команды

или группы команд из файла AUTOEXEC.BAT:
Х лишь раз в день,
Х в зависимости от дня недели, _____ ____
Х в зависимости от нажатия или ненажатия на клавишу (ГзТпТГ). (АГГ) или ГсТТГ)).
Чтобы та или иная группа команд файла AUTOEXEC.BAT выполнялась лишь раз в

день, можно воспользоваться следующим приемом.
1. По окончании выполнения данной группы команд (а еще лучше Ч при ее успешном

выполнении, если это можно проверить) следует записать в файл на диске текущую

дату. Это можно сделать командой echo. \да.1е>имя-файла-1 . Здесь команда echo.

порождает пустую строку, которая подается на вход команды date, поэтому коман-

да date не запрашивает ввод с клавиатуры. А выдача команды date записывается в

файл на диске.
2. Перед выполнением данной группы команд также следует записать в файл на диске

текущую дату. Например, это можно сделать командой echo. ',йа1:в>имя-файла.-2 .
3. Сравнить полученные в п. 1 и п. 2 файлы. Это можно сделать командой
fc амя-файла-1 ам.я-файла-2 ', find "FC: no differences" > nul
Здесь результаты сравнения файлов подаются на вход программы find, которая

ищет в них строку "FC: no differences". Выдача программы find подавляется

(отправляется в устройство nul) Ч нас интересует только код возврата данной

программы. Кстати, наличие первого файла на диске не обязательно.
4. Если в результате выполнения приведенной в п. 3 команды сгенерирован код воз-

врата 1, то файлы одинаковы, то есть группа команд сегодня уже выполнялась, а

при коде возврата 0 эта группа команд сегодня не выполнялась.
Пусть проверку диска С: программой NDD и создание копий системных областей диска С:

программой Image желательно выполнять один раз в день. Для этого в файл AUTO-

EXEC.BAT можно включить следующую последовательность команд (здесь мы записываем

файлы в каталог С: \ВАТ, так что этот каталог должен существовать):
find "FC:
differences'
echo. ;date>C:\BAT\NDD_DATE.2

fc C:\BAT\NDD_DATE.2 C:\BAT\NDD_DATE.

if ERRORLEVEL 1 goto NO_NDD

NDD C: /C

Image C:
Глава 40. Настройка конфигурации DOS
Dh'ni) "ч<^ i Hi-' ком-и i/i

и 3>)ЧЦ(:ИМ01..:1 и

')! .Ц'!Я Надели
Примеры
Вьтолненио комянд

и записимос и.'-

of нажатия клавиш
Пример
echo. !date>C:\BAT\NDD_DATE.1

: NO_NDD
Некоторые программы желательно выполнять не раз в день, а раз в неделю или по оп-

ределенным дням недели. Для анализа дня недели можно воспользоваться функцией

WEEKDAY программы BE из комплекса Norton Utilities. Команда BE WEEKDAY выдает

код возврата 1 в воскресенье, 2 в понедельник и т..д., 7 Ч в субботу. Этот код возврата

можно проверить с помощью переменной ERRORLEVEL в команде IF.
Пусть по пятницам следует выполнять полную проверку диска С: с помощью команды NDD

С: /С, а в остальные дни недели Ч только проверку файловой структуры с помощью коман-

ды NDD С: /0. Это можно осуществить с помощью следующего фрагмента файла AUTO-

EXEC.BAT (мы предполагаем, что программа BE находится в одном из каталогов, указан-

ных в команде Path):
BE WEEKDAY
if ERRORLEVEL 7 goto NOFRIDAY

If ERRORLEVEL 6 goto FRIDAY

: NOPRIDAY

NDD C: /Q

goto NDD_DONE

: FRIDAY

NDD C: /C

: NDD_DONE
На самом деле данный фрагмент файла AUTOEXEC.BAT следует включить во фрагмент,

приведенный в предыдущем примере. Тогда полная проверка диска С: будет выполняться

раз в неделю по пятницам, а в остальные дни (но не чаще раза в день) Ч проверка файло-

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

областей диска С: программой Image:
echo. !date>C:\BAT\NDD_DATE.2

fC C:\BAT\NDD_DATE.2 C:\BAT\NDD_DATE.

if ERRORLEVEL 1 goto NO_NDD

BE WEEKDAY

7 goto NOFRIDAY

6 goto FRIDAY
differences" > nul
find "FC:
if ERRORLEVEL

if ERRORLEVEL

: NOFRIDAY

NDD C: /Q

goto NDD_DONE

: FRIDAY

NDD C: /C

: NDD_DONE

Image C:
echo. ;date>C:\BAT\NDD_DATE.1

: NO_NDD
MS DOS позволяет пользователю влиять на процесс начальной загрузки с помощью

нажатия на определенные клавиши. Например, если при появлении сообщения

"Starting MS DOS..." нажать на клавишу (JF8], то MS DOS перейдет в режим пошаго-

вого выполнения файлов CONFIG.SYS и AUTOEXEC.BAT. Это удобно, так как при

обычном выполнении начальной загрузки не требует никаких действий от пользовате-

ля и не беспокоит его какими-либо сообщениями.
В командных файлах, в частности, в файле AUTOEXEC.BAT также можно выполнять

различные действия в зависимости от того, нажата или не нажата определенная кла-

виша. Для этого недели можно воспользоваться функцией SHIFTSTATt программы BE

из комплекса Norton Utilities. Команда BE SHIPTSTATE выдает код возврата 1 при нажа-

тии правой клавиши [Shifti, 2 при нажатии левой клавиши (Shift), 3 при нажатии

клавиши [Ctrl), 4 при нажатии клавиши ГАГГ). При нажатии нескольких из указанных

клавиш приведенные коды суммируются. Например, при нажатии (Ctrl) и левой кла-

виши [Shift) код возврата будет Ь. Код возврата можно проверить с помощью пере-

менной ERRORLEVEL в команде IF.
1усть выполнение команды NDD С: /С надо отменить, если пользователь нажал (^^J,

Q^l или (AID. Это можно осуществить с помощью следующего фрагмента файла ATJTO-

D^EC.BAT (мы предполагаем, что программа BE находится в одном из каталогов, указан-

ных в команде Path):
BE SHIFTSTATE
if ERRORLEVEL 1 goto NO_NDD

NDD C: /C

: NO_NDD


Часть 8. Настройка конфигурации MS DOS
Пример процедуры

обслуживания диска
В заключение приведем пример фрагмента файла AUTOEXEC.BAT, отвечающего за

запуск программ обслуживания диска: NDD, SpeeDisk и Image. Раз в неделю по пят-

ницам выполняется полная проверка диска С: программой NDD и оптимизация разме-

щения файлов на диске программой SpeeDisk. В остальные дни недели раз в день вы-

полняется проверка файловой структуры диска программой NDD. И ежедневно, неза-

висимо от дня недели, выполняется создание копий системных областей диска С: про-

граммой Image. В примере предполагается, что каталог С:\ВАТ существует, а про-

грамма BE находится в одном из каталогов, указанных в команде Path.
BE SHIFTSTATE
С: \BAT\NDD_DATE.

NO NDD
find "FC:
differences"
nul
if ERRORLEVEL 1 goto NO_NDD

echo. ;date>C: \BAT\NDD_DATE. 2

fc C: \BAT\NDD_DATE. 2

if ERRORLEVEL 1 goto

BE WEEKDAY
if ERRORLEVEL 7 goto NOFRIDAY

if ERRORLEVEL 6 goto FRIDAY

: NOFRIDAY

NDD C: /Q

goto NDD_DONE

: FRIDAY

NDD C: /C

BE SHIFTSTATE
if ERRORLEVEL 1 goto NO_NDD

SPEEDISK C: /FD

: NDD_DONE

BE SHIFTSTATE
if ERRORLEVEL 1 goto NO_NDD

Image C:
echo. !date>0: \BAT\NDD_DATE. 1

: NO_NDD
Данный фрагмент может быть вставлен в конец файла AUTOEXEC.BAT, перед коман-

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

компьютера, например для работы в DOS Ч одну, а для Windows Ч другую. Один из

способов добиться этого Ч создать версии файлов AUTOEXEC.BAT и CONFIG.SYS

для каждой требуемой конфигурации и с помощью специального командного файла

перезагружаться с нужными файлами конфигурации.
Пусть, например, версии файлов AUTOEXEC.BAT и CONFIG.SYS записываются в

каталог C:\EXE\CONFIG с именами AUTOEXEC.ххх и CONFIG.xxx, где ххх соответ-

ствует имени комплекса программ, для которого предназначены файлы конфигурации

(например, DOS Ч для работы в DOS, WIN Ч для Windows, TD Ч для Turbo Debug-

ger и т.д.). Тогда с помощью следующего командного файла REBOOT.BAT можно бы-

стро перезагрузиться с нужными файлами конфигурации:
@>echo off
if /%^ == / goto NoParm
if not exist c:\exe\config\config.%1 goto NoCONF

if not exist c:\exe\config\autoexec.%1 goto NoAUTO

del c:\config.bak > nul

del c:\autoexec.bak > nul

ren c:\config.sys c:\config.bak

ren c: autoexec.bat c:\autoexec.bak

copy c:\exe\config\config.%1 c:\config.sys > nul

copy c:\exe\config\autoexec.%1 c:\autoexec.bat > nul

smartdrv /c

be reboot

: NoParm
echo He задан параметр командного файла

goto exit

: NoCONF
echo He найден файл C:\EXE\CONFIQ\CONFIQ.%1

goto exit

: NoAUTO

echo He найден файл C:\EXE\CONFIG\AUTOEXEC.%1
: exit
Например, REBOOT WIN
Х перезагрузка с файлами CONFIG.WIN и AUTOEXEC.WIN.
..,..-;' Хl,,.Х. 1. Строка SMARTDRV /Собеспечивает сброс данных из кэша на диск. Она нужна

лишь при кэшировании записи, если Вы используете для кэширования программу

SMARTDRV.ЕХЕ. При использовании других программ кэширования эту строку следует

заменить. Если же кэш отсутствует или не оптимизирует запись на диск, эту строку можно

убрать.
2. Аналогичным образом обеспечивается загрузка старой версии DOS при загрузке

Windows 95. Там версии файлов AUTOEXEC. BAl и CONHG.SY& для загрузки старой вер-

сии DOS называются AUTOEXEC.DOS и CONFIG.DOS, и расположены они в корневом

каталоге загрузочного диска. А версии файлов AUTOEXEC.BAT и CONFIG.SYS, исполь-

зуемые самой Windows 95, переименовываются при загрузке старой версии DOS в AUTO-

EXEC.W40 и CONFIG.W40. Аналогично переименовываются также файлы 10.SYS и

MSDOS.SYS. Только выполняются эти действия не командным файлом, а программой за-

грузки Windows 95.
1иапоговые файлы конфигурации
4iH^;m"> Х m'ltWlii <Д

I'IG К^^
/^ u i (.Н_Л1.'. -..,. IJ/4 1
Еще один способ обеспечить различные варианты конфигурации компьютера при на-

чальной загрузке Ч выводить в ходе начальной загрузки запросы и изменять конфигу-

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

манды файла CONFIG.SYS можно пропускать. Если после имени команды (перед зна-

ком равенства) в команде файла CONFIG.SYS поставить знак вопроса, то при выпол-

нении файла CONFIG.SYS DOS выведет команду на экран и спросит, надо ли ее вы-

полнять "[Y/N] ?". Если ответить Q, то команда будет выполнена, если (D Ч то нет.

Например, при наличии в файле CONFIG.SYS команды devlce7=c:\td\td386.sys DOS

будет в процессе начальной загрузки сообщение devlce?=c:\td\td386,sys [Y/N]? и

выполнять или пропускать (игнорировать) данную команду в зависимости от ответа

пользователя.
Если при различных конфигурациях компьютера файл CONFIG.SYS может быть одним

и тем же, можно с помощью программы CHOICE или аналогичной ей организовать

выбор из меню в файле AUTOEXEC.BAT. Формат команды:
CHOICE (JC'.cnucoK-cuMeoAoej {f\Х.cuм.вoл,чucлo-ceк.унд} C/N] сообщение
Здесь параметр сообщение указывает сообщение, выводимое на экран (обычно оно в

команде заключается в кавычки). Параметр /C'.cnucoK-символов указывает допустимые

символы, которые может ввести пользователь в ответ на сообщение. Если данный па-

раметр не указан, допустимые символы Ч это Y и N . Параметр /N (если он указан)

отменяет вывод подсказки с перечислением допустимых символов. Параметр

/^'.символ, число-секунд (если он указан) задает ответ по умолчанию (символ), кото-

рый принимается, если пользователь по истечении заданного параметром число-секунд

времени не нажал ни на одну клавишу.
Программа Choice выводит указанное сообщение и ждет, пока пользователь не введет

один из указанных в списке символов. При указании параметра /Т, если в течение ука-

занного в этом параметре времени пользователь не нажал ни на одну клавишу, то при-

нимается указанный в этом параметр ответ. После выполнения программы значение

переменной ERRORLEVEL устанавливается равным номеру введенного символа в спи-

ске.
Пример ^ приведенном ниже примере у пользователя запрашивается, какую проверку диска С: сле-
' дует делать: полную, краткую или никакую.


echo Проверка диска: F - полная, Q -

choice /c:FQN /T:N,10 /N "Введите P,

if error-level 3 goto FULLCHK

if errorlevel 2 goto QUICKCHK

echo Проверка диска не производится

goto exit

: FULLCHK

NDD C: /C
краткая,

Q или N
Часть 8. Настройка конфигурации MS DOS
Меню в файле

CONFIG.SYS
Блок COMMON
Блок MENU
Команды для

организации меню
goto exit

: QUICKCHK

NDD С: /Q

: exit
Если пользователь в течение 10 секунд не выбрал ответ, принимается ответ N. Следует за-

метить, что проверки значения переменной ERRORLEVEL следует располагать в порядке

убывания значений: сначала проверять на самое большое значение, затем Ч на следующее

по убыванию и т.д.
Начиная с версии 6.0 MS DOS в файле CONFIG.SYS стало возможно организовывать

меню. Для этого файл CONFIG.SYS стал рассматриваться не просто как последова-

тельность строк, а как совокупность блоков.
Блоки
Каждый блок начинается со строки, в которой приводится (начиная с первой колонки)

имя блока в квадратных скобках. Затем следуют команды, относящиеся к данному

блоку. Эти команды могут либо задавать те или иные действия по установке конфигу-

рации (как это было описано выше), либо определять меню, выводимое при начальной

загрузке компьютера. Блок может выполняться или не выполняться, в зависимости от

выбора пользователя в выведенном меню. При выполнении блока его команды выпол-

няются по очереди.
Блок с именем COMMON (таких блоков в файле CONFIG.SYS может быть несколько)

выполняется всегда. Если в начале файла CONFIG.SYS нет заголовка блока, считает-

ся, что там стоит заголовок [COMMON], то есть строки файла CONFIG.SYS до перво-

го заголовка блока выполняются всегда. Это обеспечивает совместимость со старым

(до версии 6.0 MS DOS) форматом файла CONFIG.SYS, в котором содержимое

CONFIG.SYS не разделялось на блоки.
Блок с именем MENU содержит начальное (стартовое) меню, выводимое при загрузке

компьютера. Это меню выводится до выполнения всех других команд файла CON-

FIG.SYS, даже если блок с именем MENU находится не в начале файла CONFIG.SYS.
Для организации меню в файле CONFIG.SYS используются следующие команды:
MENUITEM имя-блока, сообщение Ч определение пункта меню;

SUBMENU имя-блока-меню, сообщение Ч определение пункта меню, при выборе
которого выводится подменю (эта возможность используется редко);

MENUDEFAULT имя-блока, число-секунд Ч определение пункта меню, выполняемо-

го "по умолчанию": при нажатии клавиши (ТпТеТ) или по истечении заданной в

команде задержки.
Как правило, данные команды записываются в блок с именем MENU .
При выполнении блока меню DOS выведет указанные в предложениях MENUITEM и

SUBMENU сообщения и предложит выбрать номер пункта.
Пример При наличии в файле CONFIG.SYS команд:
[MENUJ
MENUITEM=DOSCONF, Работа в DOS

MENUITEM=WINDOWS, Работа в Windows

MENUITEM=TD, Использование Turbo Debugger

MENUDEFAULT=WINDOWS, 5
DOS выведет при начальной загрузке меню:
MS DOS 6.22 Startup Menu
1. Работа в DOS
2. Работа в Windows
3. Использование Turbo Debugger
Вы должны будете нажать (i), (D или (D, при этом будут выполняться команды из

блоков [DOSCONF], [WINDOWS] и [TD] соответственно (а кроме того, команды из блоков

[COMMON]). Если Вы нажмете (Enter) или не ответите в течение 5 секунд, будет принят

ответ (13 ([WINDOWS]), как это указано в команде MENUDEFAULT. Если бы этой команды

задано не было, DOS ждала бы до тех пор, пока Вы не ответили (Т), (2) или (D.
Таким образом, файл CONFIG.SYS в данном случае может иметь вид:
[COMMON]

команды, выполняемые всегда (для всех конфигураций)
Часть 8. Настройка конфигурации MS DOS
Меню в файле

CONFIG.SYS
Блок COMMON
Блок MENU
Команды для

организации меню
goto exit

: QUICKCHK

NDD С: /Q

: exit
Если пользователь в течение 10 секунд не выбрал ответ, принимается ответ N. Следует за-

метить, что проверки значения переменной ERRORLEVEL следует располагать в порядке

убывания значений: сначала проверять на самое большое значение, затем Ч на следующее

по убыванию и т.д.
Начиная с версии 6.0 MS DOS в файле CONFIG.SYS стало возможно организовывать

меню. Для этого файл CONFIG.SYS стал рассматриваться не просто как последова-

тельность строк, а как совокупность блоков.
Блоки
Каждый блок начинается со строки, в которой приводится (начиная с первой колонки)

имя блока в квадратных скобках. Затем следуют команды, относящиеся к данному

блоку. Эти команды могут либо задавать те или иные действия по установке конфигу-

рации (как это было описано выше), либо определять меню, выводимое при начальной

загрузке компьютера. Блок может выполняться или не выполняться, в зависимости от

выбора пользователя в выведенном меню. При выполнении блока его команды выпол-

няются по очереди.
Блок с именем COMMON (таких блоков в файле CONFIG.SYS может быть несколько)

выполняется всегда. Если в начале файла CONFIG.SYS нет заголовка блока, считает-

ся, что там стоит заголовок [COMMON], то есть строки файла CONFIG.SYS до перво-

го заголовка блока выполняются всегда. Это обеспечивает совместимость со старым

(до версии 6.0 MS DOS) форматом файла CONFIG.SYS, в котором содержимое

CONFIG.SYS не разделялось на блоки.
Блок с именем MENU содержит начальное (стартовое) меню, выводимое при загрузке

компьютера. Это меню выводится до выполнения всех других команд файла CON-

FIG.SYS, даже если блок с именем MENU находится не в начале файла CONFIG.SYS.
Для организации меню в файле CONFIG.SYS используются следующие команды:
MENUITEM имя-блока, сообщение Ч определение пункта меню;

SUBMENU имя-блока-меню, сообщение Ч определение пункта меню, при выборе
которого выводится подменю (эта возможность используется редко);

MENUDEFAULT имя-блока, число-секунд Ч определение пункта меню, выполняемо-

го "по умолчанию": при нажатии клавиши (Enter) или по истечении заданной в

команде задержки.
Как правило, данные команды записываются в блок с именем MENU .
При выполнении блока меню DOS выведет указанные в предложениях MENUITEM и

SUBMENU сообщения и предложит выбрать номер пункта.
Пример При наличии в файле CONFIG.SYS команд:
[MENUJ
MENUITEM=DOSCONF, Работа в DOS

MENUITEM=WINDOWS, Работа в Windows

MENUITEM=TD, Использование Turbo Debugger

MENUDEFAULT=WINDOWS, 5
DOS выведет при начальной загрузке меню:
MS DOS 6.22 Startup Menu
1. Работа в DOS
2. Работа в Windows
3. Использование Turbo Debugger
Вы должны будете нажать (i), (D или CD, при этом будут выполняться команды из

блоков [DOSCONF], [WINDOWS] и [TD] соответственно (а кроме того, команды из блоков

[COMMON]). Если Вы нажмете (Enter) или не ответите в течение 5 секунд, будет принят

ответ (2) ([WINDOWS]), как это указано в команде MENUDEFAULT. Если бы этой команды

задано не было, DOS ждала бы до тех пор, пока Вы не ответили (Т), (2) или CD.
Таким образом, файл CONFIG.SYS в данном случае может иметь вид:
[COMMON]

команды, выполняемые всегда (для всех конфигураций)
Раскраска стартового

. меню
Согласование меню

файла CONFIG.SYS

и файла

AUTOEXEC.BAT
Пример
[MENU]
MENUITEM=DOSCONF. Работа в DOS

MENUITEM=WINDOWS, Работа в Windows

MENUITEM=TD, Использование Turbo Debugger

MENUDEFAULT=WINDOWS, 5

[DOSCONF]
команды, выполняемые при работе в DOS

[WINDOWS]
команды, выполняемые при работе в Windows

[TD]
команды, выполняемые при работе с Turbo Debugger

[COMMON]

команды, выполняемые всегда (для всех конфигураций)
Здесь первую строку ([COMMON]), как указывалось выше, можно было бы не писать. Кро-

ме того, как указывалось выше, стартовое меню выводится до выполнения каких-либо дру-

гих команд файла CONFIG.SYS, поэтому первый блок [COMMON] с тем же успехом можно

было бы поместить и после строки с командой MENUDEFAULT.
Если желательно сделать стартовое меню более привлекательным, Вы можете раскра-

сить его в разные цвета с помощью команды файла CONFIG.SYS MenuColor. Формат

этой команды: КЫ\1СОШЯ=цвет-сим.вола, цвет-фона. Если параметр цвет-фона опус-

тить, то цвет фона будет черным. Цвет символа и цвет фона кодируются числами от О

до 15:0Ч черный, 1 Ч синий, 2 Ч зеленый, 3 Ч сиреневый, 4 Ч красный, 5 Ч ма-

линовый, 6 Ч коричневый, 7 Ч светло-серый, 8 Ч темно-серый, 9 Ч голубой, 10 Ч

ярко-зеленый, II Ч ярко-сиреневый, 12 Ч ярко-красный, 13 Ч ярко-малиновый, 14 Ч

желтый, 15 Ч белый. Следует заметить, однако, что цвета фона с номерами от 8 до 15

употреблять не следует Ч большинство видеоконтроллеров при этом выводит мигаю-

щие символы. Например, MENUCOLOR=14, 1 Ч вывод желтых символов на синем фоне.
Замоч.чния 1. Многие программы оптимизации использования памяти не умеют хорошо

оптимизировать файлы CONFIG.SYS, содержащие стартовое меню. Так, при оптимизации

использования памяти программой МегпМакег, описанной в конце этой главы, при оптими-

зации одной ветви файла CONFIG.SYS остальные ветви разоптимизируются.
2. Если в нескольких блоках файла CONFIG.SYS используются дублирующиеся команды,

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

иС1-\}ОЕ.=11МЯ-блока . Однако следует заметить, что некоторые программы оптимизации ис-

пользования памяти не умеют оптимизировать файлы CONFIG.SYS с командами INCLUDE.

Так, при оптимизации использования памяти программой MemMaker, описанной в главе 41,

результаты оптимизации блока, вставляемого командой INCLUDE, применяются во всех вари-

антах стартового меню, хотя оптимизация этого блока проводилась, естественно, для како-

го-то одного варианта меню.
Очень часто при использовании меню в файле CONFIG.SYS при выборе того или иного

варианта в меню требуется выполнить соответствующие команды и в файле

AUTOEXEC.BAT. Было бы очень неудобно, если бы в файле AUTOEXEC.BAT требова-

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

этого можно обойтись. Имя блока команд, выбранного в меню файла CONFIG.SYS,

автоматически присваивается переменной окружения CONFIG, так что в файле

AUTOEXEC.BAT Вы при необходимости можете задать различные действия в зависи-

мости от значения этой переменной.
Для приведенного выше примера меню вфайле CONFIG.SYS Вы можете использовать сле-

дующий фрагмент файла AUTOEXEC.BAT, если в этом файле требуется выполнять разные

команды в зависимости от выбора, сделанного в стартовом меню:


GOTO %CONFIG%

: DOSCONP
команды, выполняемые-при работе в DOS

GOTO CONTINUE

: WINDOWS
команды, выполняемые при работе в Windows

GOTO CONTINUE

:TD
команды, выполняемые при работе с Turbo Debugger

: CONTINUE

команды, выполняемые всегда (для всех конфигураций)
1   ...   63   64   65   66   67   68   69   70   ...   98


написать администратору сайта