Лабораторная работа №2
Создание командных файлов.
Командный файл представляет собой текстовый файл, с расширением BAT, в котором на каждой строчке располагается команда MS-DOS. Типичным примером командного файла является файл autoexec.bat , служащий для автоматической загрузки системы.
Кроме обыкновенных команд в командные файлы можно задавать параметры, управлять системой ввода вывода (выводить не только на экран, но и на принтер), а также можно выполнять логические операции. Можно сказать, что в командных файлах пользователь имеет доступ к некоторым языкам программирования.
Все командные файлы лучше всего начинать со строки @echo off. Эта команда отключает предварительный вывод команд на экран. То есть пользователь не будет видеть каким образом задаётся та или иная команда, а символ «@» нужен для того, чтобы не было видно и саму команду echo off.
Девять основных команд командных файлов (свойственных только им.)
Команда |
Цель |
CALL |
Позволяет запускать другой командный файл в качестве команды |
CHOICE |
Служит для предоставления пользователю возможности выбора между тем или иным действием |
ECHO |
Выводит текст на экран |
FOR |
Повторяет команду заданное число раз, создание цикла |
GOTO |
Даёт условный переход или цикл внутри файла |
IF |
Позволяет принимать логические решения |
PAUSE |
Просто выводит на экран сообщение «Press any key to continue». То есть приостанавливает программу до нажатия любой клавши. |
REM |
Позволяет вносить комментарии командный файл. |
SHIFT |
Занимается перегруппировкой параметров командной строки. Сдвигает параметры назад на одно значение. |
Операции с параметрами:
Параметры задаются через комбинацию символов %#, где # - номер от 1 до 9. Чтобы не следовало за именем командного файла в приглашении MS DOS, всё по порядку будет представлено этими символами. Поэтому, если вам будет нужно просто указать знак процентов, то для этого вам потребуется использовать его 2 раза (%%).
Для манипулирования параметрами можно использовать команду IF, пример:
IF -%1 == - echo Не указан необходимы параметр
Эта строка означает, что если при запуске командного файла не будет указан необходимый параметр «%1», то будет выдано сообщение о необходимости сделать это.
Команда IF:
С помощью неё можно оперировать не только с параметрами, как сказано выше, но и проверять на существование папки/ диска/ файла, пример:
IF NOT EXIST Readme.TXT echo Файл не найдён
Если в текущем каталоге файл Readme.TXT найден не будет – последует сообщение об ошибке.
Также можно использовать команду совместно с командой CHOICE:
CHOICE Форматнуть НМЖД?
IF error level 2 goto end
Format c:
: End
Пользователю будет выдан вопрос о надобности форматирования диска. В случае отрицательного ответа программа перейдёт к концу, в случае положительного – произведет форматирование.
Команда FOR:
Команда FOR использует собственную переменную, которая появляется во второй позиции в строке. Переменная начинается знаком процента и заканчивается латинской буквой. Если команда используется в командном файле, то необходимо написать знак процента два раза. За переменой следует слово IN, а за ним, в скобках, группа параметров, разделённая пробелами. В качестве параметров может быть что угодно (обычно имена файлов) и команда FOR осуществляет работу именно с ними. Затем следует слово DO, а после и сама команда ДОС. Пример:
FOR %%A IN (1 2 3 4 5) DO ECHO Я учусь в ЛЭТИ
Данная команда выведет пять раз строку «Я учусь в ЛЭТИ».
Управление системой ввода-вывода:
Для того, чтобы изменить ввод-вывод команд обычно пользуются символом «>», Пример:
Dir /? > Dirhelp.txt
После запуска этой команды в файле Dirhelp.txt будет находиться справка по команде ДОСа DIR. Необходимо учесть, что таким образом будет создан новый фал без предупреждения. Для добавления информации в существующий файл необходимо поставить два таких символа:
Dir /? >> Dirhelp.txt
Таким образом, если будет содержаться какая-либо информация в этом файле, то она не удалится, а просто к ней будет добавлена справка из HELP. Кроме того, можно делать вывод и на другие устройства:
Вид |
Устройство |
Пример |
PRN |
Принтер |
Echo I’m crazy > PRN |
CON |
Клавиатура |
COPY CON |
NUL |
«Пустота» |
Echo I’m crazy > NUL |