Символы и команды по управлению командными файлами

Знак @. По умолчанию команды пакетного файла выводятся на экран перед исполнением. Возможно избежать вывода на экран любой отдельной строчка файла. Для этого нужно поставить в начале данной строки знак @.

Команда ECHO. Предназначена для выключения и включения эхо-отображения (протокола исполнения) команд на экран.

Echo on — включает режим вывода делаемых команд на экран;

Echo off — выключает отображение команд;

Пример 2: Внесём трансформации в ранее созданный командный файл:

ECHO OFF

MD D:\DOCUMENT

MD D:\TEXT

COPY D:\*.DOC D:\DOCUMENT

COPY D:\*.TXT D:\TEXT

ECHO ON

В следствии исполнения команды на экран будет выведена лишь первая команда (ECHO OFF) и информация о скопированных файлах. Чтобы команда ECHO OFF не выводилась на экран, перед ней необходимо поставить знак @.

Команда ЕСНО кроме этого разрешает выдавать из командного файла сообщения на экран:

Синтаксис: ЕСНО сообщение

Пример 3: Текст командного файла K1.BAT:

cls

echo on

С: (замените на необходимый диск)

cd\

dir

Этот командный файл делает следующие действия: очищает экран; переходит на диск С; переходит в корневой каталог; выдает на экран содержимое корневого каталога.

Комментарии. Комментарии в командный файл разрешает включать команда REM. Комментарии не интерпретируются как команды на протяжении исполнения файла. Комментарии употребляются для улучшения удобочитаемости командного файла.

Синтаксис: REM любые_символы

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

Синтаксис: CALL имя_файла [параметры]

Пример 4:

@ ECHO OFF

TYPE D:\primer.txt

PAUSE просмотрим файл

CALL 2.bat

Пример 5: Пускай нужно создать командный файл cop.bat для копирования файла из папки NAME1 в папку NAME2

COPY D:\NAME1\%1 D: \NAME2

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

путь\copy primer.txt

При исполнении этого командного файла знак %1 (формальный параметр) будет заменен на значение первого параметра при вызове командного файла, т.е. вместо %1 будет подставлено primer.txt и будет выполнена команда

COPY D:\NAME1\primer.txt D: \NAME2

ВЫПОЛНИТЬ САМОСТОЯТЕЛЬНО:

1. Создайте командный файл, делающий следующий метод:

— создать на диске С:\ папку RPK;

— создать в папке RPK папку Students;

— в папке студенты создать папку 2B;

— в папке 2B создать текстовый файл с именем ivanov.txt;

— скопировать этот файл в папку RPK;

— переименовать в папке RPK файл ivanov.txt на petrov.txt;

— удалить из директории 2B файл ivanov.txt;

— вывести на экран сообщение: «Командный файл создал студент ваша фамилия».

3. Создайте собственный командный файл (предельное число команд – 5).

2.2 Синтаксис особых команд пакетной обработки

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

1. Команда: CALL

Назначение: приводит к пакетному файлу из другого пакетного файла.

Формат: CALL [d:][path] filename [parameters]

Параметры:

filenames – имя вызываемого КФ;

parameters – параметры,передаваемые вызываемому КФ;

Комментарий: управление возвращается в вызывающий КФ.

Пример:

CALL — вызов КФ из текущего каталога.

2. Команда: FOR

Назначение: циклическое исполнение команды.

Формат: FOR %%var IN (set) DO command

Параметры:

var – имя переменной, вероятные значения от A до Z;

set – перечень имен либо текстовых строчков, каковые должны быть подставлены в цикле на место %%var;

command — делаемая команда.

Комментарий: формальная переменная %%var последовательно заменяется фактическими значениями из перечня set и при каждой замене выполняется команда command. В случае если FOR запускается не из пакетного файла, а из командной строчка, то вместо двух знаков “%” необходимо включить лишь один. Команда COMMAND не имеет возможности употребляться в цикле FOR.

Пример:

FOR %%E IN (A,B,C) DO DEL %%E.OBJ – удаление из текущего каталога файлов A.OBJ, B.OBJ и C.OBJ.

3. Команда: GOTO

Назначение: передача управления на строчок КФ, следующую за заданной меткой.

Формат: GOTO label

Параметры:

label – метка строчка, на которую передается управление.

Пример:

GOTO END — переход на указанную метку.

4. Команда: IF

Назначение: условное исполнение команд.

Формат:

а) для проверки значения глобальной переменной ERRORLEVEL

IF [NOT] ERRORLEVEL value command

б) для сравнения двух символьных строчков

IF [NOT] string1 = = string2 command

в) для проверки существования заданного файла

IF [NOT] EXIST [d:][path] filename command

Параметры:

value – целое число в диапазоне от 0 до 255;

command – делаемая команда;

string1,string2 – текстовые строчки.

Комментарий: в случае если условие действительно, то выполняется указанная команда. Условие в первом формате действительно, в случае если значение ERRORLEVEL больше либо равняется заданному значению value.

Примеры:

а) IF NOT EXIST FILE.DAT ECHO Файл не существует;

б) IF ERRORLEVEL 1 GOTO END – переход на метку END, в случае если значение ERRORLEVEL больше либо равняется 1.

5. Команда: PAUSE

Назначение: реализация паузы при исполнении КФ.

Формат: PAUSE [comment]

Параметры:

comment – текстовая строка.

Комментарий: по данной команде исполнение КФ приостанавливается и на экран выводится сообщение comment. Протяженность сообщения не имеет возможности быть больше 121 знак. Исполнение КФ возобновляется при нажатии на любую клавишу, не считая CTRL+C либо CTRL+BREAK. Эти сочетания завершают исполнение КФ.

Пример:

PAUSE Да, да, да, это пауза — пауза с выдачей сообщения на экран.

6. Команда: REM

Назначение: ввод комментария.

Формат: REM [comment]

Параметры:

comment — строка коммантария.

Комментарий: команда REM может употребляться для временного отказа от исполнения отдельных команд КФ. В случае если эхо-сопровождение включено, то строка comment выводится на экран, в другом случае – не выводится

.

7. Команда: SHIFT

Назначение: сдвиг значений параметров командной строки запуска КФ на одну позицию влево.

Формат: SHIFT

Комментарий: употребляется при передаче данных в КФ посредством замещаемых параметров. К примеру, по окончании команды SHIFT в %0 будет находится первый параметр из командной строчка, а в %9 – десятый параметр.

8. Команда CHOICE

Команда CHOICE

Выводит пользователю заданную подсказку для выбора командного файла. Ожидает, пока пользователь выберет из указанного комплекта клавиш. Эту команду возможно применять лишь в командных файлах.

CHOICE [/C[:]клавиши] [/N] [/S] [/T[:]c,nn] [текст]

Параметр текст задает текст, что вы желаете выводить перед подсказкой. Вопросительный символ нужен лишь в том случае, если вы включаете в текст перед подсказкой знак /. Если вы не задаете текст, CHOICE выводит на экран лишь подсказку.

Параметр /C[:]клавиши задает допустимые в подсказке клавиши. При выводе на экран клавиши будут разделяться запятыми, заключаться в квадратные скобки ([]) и сопровождаться вопросительным знаком. Если вы не показываете параметр /C, CHOICE применяет по умолчанию YN. Двоеточие (:) не обязательно.

Параметр /N ведет к тому, что CHOICE не выводит подсказку. Но текст перед подсказкой выводится. При задании /N указанные клавиши все равно будут дешёвы.

/S ведет к различимости в CHOICE регистра знаков. В случае если параметр /S не задан, то для любых заданных пользователем клавиш будет восприниматься как верхний, так и нижний регистр.

В случае если задан параметр /T[:]c,nn, то команда CHOICE перед применением заданной клавиши по умолчанию делает паузу в течении заданного числа секунд. В /T указываются следующие значения: c -определяет знак, что спустя nn секунд будет задаваться по умолчанию (данный знак должен быть в комплекте знаков, заданном в параметре /C); nn — задает длительность паузы в секундах (допустимые значения лежат в диапазоне от 0 до 99 — в случае если задается 0, то перед назначением по умолчанию будет пауза).

Первая назначенная вами клавиша возвращает значение 1, вторая — 2, третья — 3 и т.д. В случае если пользователь нажимает клавишу, отсутствующую в перечне назначенных клавиш, то CHOICE дает дающий предупреждение звуковой сигнал (передает на консоль знак 07h).

В случае если CHOICE обнаруживает состояние неточности, то возвращает значение 255. В случае если пользователь передает CTRL+BREAK либо CTRL+C, CHOICE возвращает значение, равное 0. К примеру, в случае если в командном файле вы показываете команду:

choice /c:ync

то пользователь видит следующее:

[Y,N,C]?

Если вы добавите:

choice /c:ync Yes, No, or Cancel

то пользователю выводится:

Yes, No, or Cancel [Y,N,C]?

Если вы зададите команду:

choice /c:ync /t:n,7

то пользователь видит на экране:

[Y,N,C]?

В случае если по окончании 7 секунд пользователь не надавит клавишу, CHOICE выбирает N и возвращает значение ERRORLEVEL 2. При нажатии соответствующей клавиши до истечения 7 секунд CHOICE возвращает значение, соответствующее выбору пользователя.

2.3 Передача данных в командный файл

Довольно часто необходимо создать один КФ, но делать его любой раз с разными данными. Вероятны два метода передачи данных в КФ: а) посредством перечня параметров, б) посредством глобальных переменных.

При применении первого метода в тексте КФ употребляются формальные параметры , имеющие имена %0…%9. Настоящие значения этим параметрам присваиваются посредством фактических параметров, задаваемых при запуске КФ через пробелы:

..

При исполнении КФ формальный параметр %1 приобретает значение , формальный параметр %2 приобретает значение и т.д. В формальном параметре %0 хранится имя КФ.

Операционные совокупности MS DOS и Windows разрешают создавать КФ, у которых число фактических параметров превышает 10. Для этого нужно воспользоваться командой SHIFT. Знак “%” возможно применять в командах в КФ. Для этого нужно в тексте КФ повторить его два раза. К примеру, имя файла f%.exe должно смотреться как f%%.exe.

При применении второго метода (глобальных переменных) перед запуском КФ в области окружения ОС посредством команды SET нужно создать глобальные переменные и присвоить им заданные значения. Имена этих переменных при применении в командах КФ заключаются в знаки “%” (к примеру, %FILE% ). При исполнении КФ ОС извлекает соответствующие значения переменных из области окружения.

3. Последовательность исполнения работы

1. Измените приглашение DOS так, дабы в нем отражались:

— текущее время,

— текущая дата.

2. Создайте командный файл mb2.bat следующего содержания:

CLS

ECHO ON

C:

CD\

DIR

Запустите этот файл, что делает следующие действия: очистку экрана, включение вывода протокола исполнения командного файла, переход на диск С, переход в корневой каталог. Отразить данные в отчете.

3. Внесите трансформации в командный файл mb2.bat в соответствии с таблицей:

1. CLS ECHO OFF C: CD\ DIR 2. CLS @ECHO OFF C: CD\ DIR
3. CLS ECHO C: CD\ DIR 4. CLS ECHO***ПРИВЕТ!!!*** C: CD\ DIR

Отразите трансформации в отчете.

4.Создайте и выполните командный файл mb3.bat следующего содержания:

ECHO OFF

CLS

ECHO

ECHO === Hello!===

ECHO

PAUSE

ECHO

ECHO

ECHO === Hello!!!===

ECHO

PAUSE

Итог работы отобразить в отчете.

5. Создайте и выполните командный файл следующего mb4.bat содержания:

ECHO OFF

ECHO ВЫВОД НА ЭКРАН

:ML1

ECHO ДЛЯ ОСТАНОВКИ НАДАВИТЕ CTRL+C

PAUSE

GOTO ML1

направляться

Итог работы отобразить в отчете.

6. Создать командный файл, что делал бы следующие действия: при вызове с параметром 1 — создавал каталог NEW, с параметром 2 — выводил данные о текущем каталоге, с параметром 3 — данные о версии совокупности (нужную команду отыскать в справочной совокупности DOS), с любым вторым параметром — фразу Command not defined. Итог работы отобразить в отчете.

7. Создать командный файл, что бы выводил на экран все файлы с расширением *txt. В случае если файл запускается без параметров, то вывести Didn’t enter parameter!. В случае если в папке нет файлов с таким расширением, то вывести «Files of this type don’t exist!» Итог работы отобразить в отчете.

8. Создать командный файл, что делал бы следующие действия: при вызове с параметром, равным 1 — создавал файл infolab1.txt в текущем каталоге, с параметром, равным 2 — выводил краткую данные о текущем каталоге, с параметром, равным 3 — данные о версии совокупности, с любым вторым параметром — фразу Command not defined. Итог работы отобразить в отчете.

9. Создать командный файл, при вызове которого указать наименование валюты. В случае если указано «американский доллар» , то на экран выводится сообщение о курсе американского доллара, в случае если «евро», то вывести соответствующий курс евро. Для всех других вариантов вывести сообщение «Валюта не идентифицирована». Итог работы отобразить в отчете.

10. Для записи в текстовый файл информации о студентах Вашей группы создать КФ WRITE_FD.BAT со следующей программной функцией:

  • отключить эхо-сопровождение;
  • очистить экран;
  • если не заданы параметры запуска КФ, то идти на метку HELP, в противном случае записать значения параметров запуска в файл и идти на конец;
  • метка HELP;
  • информировать пользователя о структуре и содержании полей записи в файле данных и синтаксисе команды, к примеру:

WRITE_FD

11. Отладить КФ WRITE_FD.BAT. Ввести в файл данных 10 записей. Записать их в протокол.

12. Написать КФ FIND_FD.BAT для поиска информации в файле данных по заданному показателю:

  • отключить эхо-сопровождение;
  • чистить экран;
  • в случае если параметр запуска не задан, то идти на метку HELP, в противном случае искать записи в файле данных, которые содержат заданную параметром запуска строчок знаков (ключ),и вывести их на экран, идти на конец;
  • метка HELP
  • информировать пользователя о синтаксисе запроса, к примеру:

FIND_FD , где определяет фамилию, год рождения, место рождения либо другую данные из файла данных.

13. Отладить КФ FIND_FD.BAT. Реализовать пара запросов на поиск информации в файле данных по разным полям записей, занести результаты в протокол.

14. Написать КФ SORT_FD.BAT для сортировки файла данных по алфавиту, со следующей программной функцией:

  • отключить эхо-сопровождение;
  • очистить экран;
  • совершить информирование пользователя;
  • сортировать записи файла данных по алфавиту, итог записать во временный файл;
  • скопировать временный файл в файл данных;
  • удалить временный файл.

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

  • Запустить Pascal
  • Перейти в корневой каталог
  • Просмотреть содержимое директории Users в кратком виде.

16. Составьте командный файл, что выводит на экран меню, складывающееся из трех пунктов, с поясняющим текстом в соответствии с номеру варианта и делает задания, указанные в поясняющем тексте. Работа с файлами

а) создание файла,

б) переименование файла,

в) удаление файла.

4. Контрольные вопросы

4.1 Отличие КФ от вторых исполняемых файлов.

4.2 Методы передачи данных в КФ.

4.3 Особые команды КФ.

4.4 Организация ветвлений в КФ.

Arduino управление через com port из командной строчка либо bat файлом


Также читать:

Понравилась статья? Поделиться с друзьями: