- •Начальные сведения об операционной системе дос
- •Основные составные части дос
- •Начальная загрузка дос
- •Что такое файл
- •Имена файлов
- •Работа с устройствами
- •Каталоги
- •Текущий каталог
- •Указание пути к файлу
- •Имена накопителей на дисках
- •Символы * и ?
- •Команды ms dos
- •Диалог пользователя с dos
- •Приглашение dos
- •Запуск и выполнение команд
- •Создание текстовых файлов
- •1 File(s) copied (Один файл скопирован)
- •Установка списка каталогов для поиска выполняемых программ
- •Вывод файла на печать
- •Установка и отмена режима проверки при записи на диски
- •Форматирование дискет
- •Задание метки на диске
- •Вывод и установка даты
- •Вывод и установка времени
- •Изменение вида приглашения dos
- •Пакетные командные файлы
- •Выполнение командных файлов
- •Командные файлы с заменяемыми параметрами
- •Дублирование команд на экран
- •Комментарии в командном файле
- •Сообщения при выполнении командного файла
- •Проверка условий в командном файле
- •Написание файла config.Sys
- •Написание файла autoexec. Bat
- •Запуск программ и команд dos
- •Использование мыши
- •Содержание панелей Norton Commander
- •Управление панелями Norton Commander
- •Оглавление каталога в панели
- •Действие при нажатии [Enter]
- •Информационная панель
- •Использования функциональных клавиш
- •Выбор группы файлов
- •Просмотр файлов
- •Режим быстрого просмотра файлов
- •Редактирование файла
- •Копирование файлов и каталогов
- •Переименование и пересылка файлов и каталогов
- •Удаление файлов и каталогов
- •Поиск файла на диске
- •Изменение атрибутов файла
- •Изображение части каталога
- •Создание и удаление каталогов
- •Дерево каталогов в панели
- •Сравнение каталогов
- •Меню команд пользователя
- •Управляющее меню
Проверка условий в командном файле
Команда IF позволяет в зависимости от выполнения некоторых •Условий выполнять или не выполнять команды в командном файле.
Формат команды:
IF условие команда
Параметры:
команда – это любая допустимая команда (в том числе GOTO). Эта команда выполняется, если условие в команде IF истинно, в пробивном случае команда игнорируется;
условие – это одно из приведенных ниже выражений:
ERRORLEVEL число – условие истинно тогда, когда код завершения предыдущей выполненной программы больше заданного числа или равен ему (код завершения устанавливается программами при окончании их работы, по умолчанию – этот код равен нулю);
строка1= =строка2 – условие истинно тогда, когда строка1 и строка2 полностью совпадают. Если в этих строках имеются символы %0–%9, то вместо этих символов подставляются параметры командного файла;
EXIST имя-файла – условие истинно тогда, когда указанный файл существует;
NOT условие – истинно тогда, когда указанное условие ложно.
Пример Создадим файл TYP.BAT, который выводит некоторый файл на экран. Формат вызова будет:
TYP имя-файла
Мы будем проверять, задан ли при вызове параметр и существует ли указанный файл. Командный файл TYP.BAT может быть таким (справа в скобках приводятся номера строк файла):
echo off (1)
if -%1 == + goto no_param (2)
if not exist %1 goto not exist (3)
type %1 ~ (4)
goto exit (5)
:no_param: (6)
echo Должен быть задан параметр (7)
goto exit (8)
:not_exist (9)
echo Файл %1 не найден (10)
:exit (11)
В строке 2 проверяется, что параметр командного файла задан. Вели параметр не задан, то происходит переход на метку no_param. В этом случае выдается сообщение
Должен быть задан параметр
и выполнение командного файла прекращается.
В строке 3 проверяется, что указанный в команде файл существует. Если он не существует, то выдается сообщение
Файл .... не найден
(.... – параметр, заданный в команде TYP), и выполнение командного файла прекращается.
Следует заметить, что при сравнении строк, содержащих символы параметров %0 — %9, следует проявлять осторожность. Например, сравнение второго параметра командного файла со строкой SSS не следует делать так:
if %2 = = SSS . . .
Дело в том, что если в командном файле меньше двух параметров, то символы %2 будут замещены пустой строкой, и при выполнении команды возникнет ошибка. Еще опаснее сравнение
If SSS = = %2 . . .
так как в этом случае, если в командном файле меньше двух параметров, возможно выполнение совсем не той команды. Правильное сравнение выглядит так:
if -% 2 = = -SSS . . .
Оно годится в любом случае.
Написание файла config.Sys
В корневом каталоге диска, с которого загружается операционная система, может находиться файл CONFIG.SYS, задающий параметры операционной системы DOS, а также указывающий, какие программы, расширяющие возможности операционной системы, необходимо загружать в оперативную память (эти программы называются драйверами устройств, хотя они не обязаны управлять работой каких-либо устройств).
Если файл CONFIG.SYS в корневом каталоге диска, с которого загружается операционная система, отсутствует, то параметры операционной системы будут установлены по умолчанию.
Замечание. При изменении файла CONFIG.SYS соответствующие параметры конфигурации системы изменятся только после перезагрузки DOS.
Файл CONFIG.SYS должен представлять собой текстовый (ASCII) файл. Каждая строка этого файла имеет вид:
имя-команды = значение
Команды файла CONFIG. SYS. Ниже перечисляются наиболее часто используемые команды файла CONFIG.SYS:
Break = on - установить режим проверки нажатия клавиш [Ctrl] [Break] при операциях ввода-вывода с диском. Это позволяет прерывать выполнение программ, которые иначе бы выполнялись до своего завершения. Изменить режим проверки нажатия [Ctrl] [Break] можно и впоследствии командами DOS: break on и break off;
Buffers = число-буферов – установка числа буферов для операций ввода-вывода с диском;
Country = 007,866,полное-имя-файла-COUNTRY.SYS – установка удобного формата выдачи информации о дате и времени;
Lastdrive = буква – установка последней буквы, которая может использоваться в качестве имени дисковода в команде SUBST (пример: lastdrive=z);
Files = 20 – установка максимального числа одновременно открытых файлов. Многие программы для своего выполнения требуют, чтобы значение параметра FILES было не менее 20. При работе с некоторыми базами данных необходимо большее значение параметра .FILES: 50 или даже 80;
rem комментарий – задание комментариев в файле CONFIG.SYS;
Shell = COMMAND.COM /Е:число-байтов /Р – увеличение размера области памяти, в которой хранятся переменные окружения. Число байтов задает размер этой области. Если размер области памяти для хранения переменных окружения недостаточен, то DOS выдает сообщение: «Out of environment space»;
Device = имя-файла-драйвера [параметры] – установка драйвера устройства. Программы-драйверы расширяют возможности DOS. Вот некоторые наиболее полезные драйверы устройств:
ANSI.SYS – расширяет возможности по выводу на экран и позволяет
переопределять значения клавиш на клавиатуре;
DRIVER.SYS – позволяет подсоединять к компьютеру дополнительные
диски;
MOUSE.SYS – обеспечивает использование мыши в прикладных про-
граммах;
SMARTDRV.SYS – позволяет создать кэш диска в расширенной или в дополнительной памяти;
VDISK.SYS – позволяет создать «электронный диск» в расширенной
или в дополнительной памяти.
Например, если файлы драйверов находятся в каталоге C:\EXE\SYS, то команда device = C:\EXE\SYS\ANSI.SYS установит драйвер ANSI.SYS, расширяющий возможности по выводу на экран и позволяющий переопределять значения клавиш на клавиатуре; device = C:\EXE\SYS\VDISK.SYS размер-диска [/Е] – установит «электронный» диск. Размер диска задается в килобайтах. Параметр /Е указывает, что «электронный» диск должен размещаться в расширенной памяти процессора Intel-80286 или 80386 (сверх 640 Кбайт).
Install = полное-имя-программы [параметры] — установка резидентной программы. Этот способ экономит оперативную память, так как при его использовании для запускаемой программы не резервируется место для хранения переменных окружения. В связи с этим не все программы могут быть установлены с помощью команды Install.
На компьютерах на основе процессоров Intel-80386, 486 или Pentium имеются и еще более эффективные способы загрузки программ — с помощью команды LoadHigh файла AUTOEXEC.BAT.
Возможности DOS 5.0 и 6. 0. При использовании компьютеров на основе Intel-80286 или более старших моделей, оснащенных не менее чем 1 Мбайтом оперативной памяти, Вы можете с помощью MS DOS 5.0 или 6.0 перенести большую часть программ DOS из обычной памяти в первые 64 Кбайта расширенной памяти, освободив тем самым 30-40 Кбайт обычной памяти для прикладных программ. Для этого надо включить в файл CONFIG.SYS следующие строки:
DEVICE=C:\EXE\MSDOS\HIMEM.SYS
DOS=HIGH
(мы предполагаем, что драйвер HIMEM.SYS находится в каталоге C:\EXE\MSDOS). В системе DR DOS вместо HIMEM надо использовать драйвер HIDOS.
Замечание. Возможность перемещения DOS в первые 64 Кбайта расширенной памяти, как это ни странно, возникла из-за ошибки при создании процессора Intel-80286. Как известно, в микропроцессоре Intel-8088 адреса ячеек памяти задаются с помощью двух двухбайтных чисел – сегмента и смещения по формуле: сегмент х 16+смещение. При этом, если полученный адрес оказывался большим 1 Мбайта, то «лишний» мегабайт игнорировался — происходило обращение к началу (первым 64 Кбайтам) оперативной памяти. А при реализации обычного (не защищенного) режима работы Intel-80286 последняя особенность в нем не была учтена, в результате чего оказалось возможным в обычном режиме процессора (в котором работает DOS) обращаться к первым 64 Кбайтам (точнее, к 65520 байтам) за пределами первого мегабайта адресов памяти. Сначала эта ошибка рассматривалась как курьез, а потом было осознано, что из нее можно извлечь немалую пользу.
На компьютерах с процессором Intel--80386 или более старшим Вы можете перенести из обычной памяти не только DOS, но и драйверы устройств и резидентные программы. Для того чтобы получить такую возможность, надо включить в файл CONFIG.SYS следующие строки:
DEVICE=C:\EXE\MSDOS\HIMEM.SYS
DEVICE=C:\EXE\MSDOS\EMM386.EXE NOEMS
DOS=HIGH,UMB
Здесь мы опять предполагаем, что драйверы HIMEM.SYS и EMM386.EXE находятся в каталоге C:\EXE\MSDOS. После этого Вы можете использовать для размещения программ и драйверов в «верхней» памяти: для драйверов – команду DEVICEHIGH файла CONFIG.SYS; для программ – команду LOADHIGH или LH командного процессора DOS.
При выполнении этих команд DOS делает попытку загрузить драйвер или программу в «верхнюю» память (в диапазон адресов от 640 Кбайт до 1 Мбайта), а если это не удается, загружает их в обычную память.
Примеры:
DEVICEHIGH=C:\EXE\MOUSE.SYS 2
(в файле CONFIG.SYS)
LOADHIGH C:\EXE\SMADTDRV.EXE 2048 1024
(в файле AUTOEXEC.BAT)
Замечания: 1. Перенос программ из обычной памяти оказался возможен потому, что 80386 и последующие процессоры имеют функции управления памятью, отсутствовавшие в более ранних процессорах. Для этого с помощью специального драйвера (типа EMM386.EXE) процессор изменяет адреса блоков расширенной памяти, логически «перемещая» их в первый мегабайт, доступный в обычном режиме процессора, и размещает там указанные программы или драйверы.
-
Команду DEVICEHIGH, естественно, можно использовать в файле CONFIG.SYS только после строки DOS=HIGH,UMB.
-
Если Вы хотите «превратить» часть расширенной (extended) памяти в Вашем компьютере в дополнительную (expanded), замените параметр NOEMS в команде запуска драйвера EMM386.EXE на количество «превращаемой» памяти в килобайтах. В этом случае Вы можете также использовать параметр FRAME=adpec для задания в шестнадцатеричном виде адреса сегмента «окна» дополнительной памяти (например, FRAME=EOOO).
-
В некоторых компьютерах процессор не должен использовать отдельные адреса оперативной памяти в диапазоне от 640 Кбайт до 1 Мбайта для размещения программ или отображения в дополнительную память, поскольку это вызывает конфликты с контроллерами устройств или с программами. В таких случаях надо использовать параметр Х=диапазон-адресов драйвера EMM386. Например, чтобы указать драйверу EMM386 не использовать 64 Кбайта, начиная с адреса C000h:0, надо указать параметр X=COOO-CFFF.