- •Командный процессор ms-dos/windows Теория
- •Имена файлов
- •Подстановочные знаки
- •Внутренние команды ms dos Приглашение ms dos
- •Очистка экрана и цвет текста и фона
- •Дата и время
- •Запуск задач по расписанию
- •Работа с каталогами Смена текущего диска
- •Изменение текущего каталога
- •Просмотр оглавления каталога
- •Дерево каталогов
- •Создание каталога
- •Удаление каталога
- •Переименование/перемещение каталога
- •Установка путей для программ
- •Объединение (конкатенация) файлов
- •Перемещение файлов
- •Сравнение файлов
- •Перенаправление вывода
- •Командные файлы
- •Приостановка выполнения командного файла
- •Командные файлы с параметрами
- •Отключение вывода команд bat-файла на экран и вывод сообщений
- •Безусловный и условный переход в командных файлах
- •Выполнение команды для набора файлов
- •Задания Вариант – 1
- •Вариант – 2
- •Вариант – 3
- •Вариант – 4
- •Вариант – 5
- •Вариант – 6
- •Вариант – 7
- •Вариант – 8
- •Вариант – 9
- •Вариант – 10
Приостановка выполнения командного файла
Выполняется командой pause.
Например:
cls
pause
prompt $t$s$g
После очистки экрана будет выполненная приостановка до тех пор, пока пользователь не нажмет какую-либо клавишу, далее будет изменено приглашение DOS.
Командные файлы с параметрами
Часто приходится выполнять одни и те же последовательности команд, но с разными параметрами команд. В этом случае создают командные файлы с параметрами. Параметры определят те части файла, которые могут изменяться в зависимости от условий запуска bat-файла.
Всего в командном файле можно использовать до девяти параметров, они имеют обозначения %1, %2, …, %9. Можно использовать также параметр %0 – его значение – имя самого командного файла. Если в файле не используются какие-то параметры (не заданы), то их значение считается равным пустой строке.
Рассмотрим следующий командный файл:
md %1
prompt %2
copy con %1\%3
В этом файле используются три параметра: %1 – имя создаваемого каталога, %2 – вид приглашения, %3 – имя создаваемого с клавиатуры текстового файла.
Назовем данный командный файл b.bat. тогда при его запуске нужно будет указать три параметра, например:
b.bat first $d$l text.txt
Тогда после выполнения командного файла будет создан каталог first в текущем каталоге, затем изменено приглашение MS DOS и создан файл text.txt в новом каталоге, текст которого нужно будет ввести с клавиатуры.
Иногда в командных файлах бывает недостаточно девяти параметров, для решения этой проблемы используют команду shift:
shift
Эта команда производит переприсвоение значений параметров так, что первому присваивается значение второго, второму – третьего и т.д.
Например, командный файл:
md second
copy %1 second
shift
copy %1 second
должен быть запущен с двумя параметрами, несмотря на то, что используется только один параметр:
b.bat 1.txt 2.txt
При выполнении этого файла будет создан каталог second и в него будут скопированы оба файла, первый – первой командой copy, второй – второй.
Отключение вывода команд bat-файла на экран и вывод сообщений
В процессе выполнения команд bat-файла на экран выводятся эти команды со своими параметрами. Чтобы отключить вывод команд на экран используют команду echo off.
Включение вывода на экран выполняют командой echo on.
Можно отключить вывод не всех строк файла, а только отдельных, для этого перед командой ставят символ «@».
Команда echo используется также для вывода сообщений на экран:
Echo сообщение
Например:
@echo off
cls
copy %1 %2
echo Копирование завершено
В данном случае после начала выполнения командного файла будет произведена очистка экрана, а после завершения будет выведено сообщение «Копирование завершено».
Безусловный и условный переход в командных файлах
Командный файл может содержать метки и команды перехода к ним. Метка ставится в отдельной строке, она начинается с символа «:», далее могут следовать буквы или цифры.
Переход к метке осуществляется командой
goto метка
после выполнения команды goto, происходит переход к строке, следующей за указанной в команде меткой. Если при выполнении команды goto соответствующая метка в файле не найдена, то выполнение файла прекращается.
Например:
md newdir
goto a
copy 1.txt newdir
:a
copy 2.txt newdir
В этом случае после создания нового каталога newdir, в него будет скопирован файл 2.txt, а команда copy 1.txt newdir будет пропущена.
Описанный ранее переход называется безусловным, так как не зависит ни от каких условий. Если необходимо выполнить какие-то команды в bat-файле в зависимости от выполнения (или невыполнения) какого либо условия, применяют условный переход.
if условие команда
Команда выполнится в том случае, если условие истинно. В противном случае происходит переход к следующей за if командой.
Возможны следующие виды условий:
строка1 == строка2 – условие истинно, если строки полностью совпадают. Если вместо одной из строк используются параметры %0-%9, то при сравнении вместо них подставляются соответствующие значения параметров.
exist имя_файла – условие истинно, если указанный файл существует, причем вместо имени файла также могут использоваться параметры.
not условие – отрицание условия.
Например:
Echo off
Cls
if -%1== - goto n_p
if not exist %1 goto n_e
copy %1 first
echo Файл %1 скопирован
goto exit
:n_p
echo Параметр отсутствует
goto exit
:n_e
echo Файл не существует
goto exit
:exit
В этом примере команда if -%1== - goto n_p производит проверку наличия параметра, и если параметр отсутствует, то осуществляется переход к метке n_p. Символ «-» позволяет избежать возникновения синтаксической ошибки в случае отсутствия параметра. Команда if not exist %1 goto n_e проверяет существование файла, указанного в параметре. Если файл не существует, то осуществляется переход к метке n_e. И только если оба условия окажутся ложными произойдет копирование файла заданного параметром.