Использование параметров командной строки
Работа 4. Командные файлы и программирование (часть 1)
Командный файл как программа
Простейшие сценарии с диалогами Основные команды, часто применяемые в командных файлах для создания и манипулирования переменными:
Примеры: файл primer1.bat @echo off Результатом работы этого файла будет вывод на экран слова Privet!. Если убрать из файла конструкцию @echo off, каждая срока файла будет выводится вместе с результатом выполнения команд. файл primer2.bat В этом примере демонстрируется возможность создания переменной с именем name и присвоения ей значения Vasya. Если нужно вывести значение переменной на экран, то ее имя должно заключаться между символами %. Для ввода данных используется конструкция set /p файл primer3.bat В этом диалоге сначала запрашивается имя пользователя, а затем оно выводится на экран.
1.1. Взять текст примеров, создать три командных файла primer1.bat, primer2.bat и primer3.bat и запустить их на выполнение. Проанализировать результат. Заменить первые строки файлов на @echo on и сравнить результаты выполнения с предыдущими. 1.2. Разработать командный файл, который запрашивает у пользователя по очереди имя и возраст, а затем выводит их вместе.
Специальные переменные Существуют специальные переменные, значения которых формируются операционной системой. Укажем некоторые из них: %CD% - Принимает значение строки текущей директории. %DATE% - Принимает значение текущей даты. %TIME% - Принимает значение текущего времени. %RANDOM% - Принимает значение случайного десятичного числа в диапазоне 1 -32767. %ERRORLEVEL% - Принимает текущее значение кода завершения задачи ERRORLEVEL %CMDEXTVERSION% - Принимает значение версии командного процессора CMD.EXE для расширенной обработки команд. %CMDCMDLINE% - Принимает значение строки, которая вызвала командный процессор. %PATH% - список директорий для запуска программ. %OS% - содержит название операционной системы.
В любой момент пользовательский сценарий может обратиться к значению этих переменных. файл primer4.bat
2.1. Написать командный файл, который выводит на экран значения системных переменных.
Использование параметров командной строки При запуске пакетных файлов в командной строке можно указывать произвольное число параметров, значения которых можно использовать внутри файла. Это позволяет, например, применять один и тот же командный файл для выполнения команд с различными параметрами. Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %*. При этом вместо подставляется имя выполняемого пакетного файла, вместо %0%1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то "лишние" переменные из %1 – %9 замещаются пустыми строками. Рассмотрим следующий пример. Пусть имеется командный файл copier.bat следующего содержания: @ECHO OFF CLS ECHO File %0 copying directory %1 in %2 XCOPY %1 %2 /S Если запустить его из командной строки с двумя параметрами, например copier.bat C:\Programs D:\Backup то на экран выведется сообщение File copier.bat copying directory C:\Programs in D:\Backup и произойдет копирование каталога C:\Programs со всеми его подкаталогами в D:\Backup. При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение %2 – в %1 и т.д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9. Если же такой параметр не задан, то новое значение %9 — пустая строка. Рассмотрим пример. Пусть командный файл my.bat вызван из командной строки следующим образом: my.bat p1 p2 p3 Тогда %0=my.bat, %1=p1, %2=p2, %3=p3, параметры %4 – %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3, параметры %3 – %9 – пустые строки. При включении расширенной обработки команд SHIFT поддерживает ключ /n, задающий начало сдвига параметров с номера n, где n может быть числом от 0 до 9. Например, в следующей команде: SHIFT /2 параметр %2 заменяется на %3, %3 на %4 и т.д., а параметры %0 и %1 остаются без изменений. Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0), который был первым перед сдвигом. Если в командной строке задано больше десяти параметров, то команду SHIFT можно использовать несколько раз. В командных файлах имеются некоторые возможности синтаксического анализа заменяемых параметров. Для параметра с номером n (%n) допустимы синтаксические конструкции (операторы), представленные в табл. 3.1.
Данные синтаксические конструкции можно объединять друг с другом, например: %~DPn — из переменной %n выделяется имя диска и путь, %~NXn — из переменной %n выделяется имя файла и расширение. Рассмотрим следующий пример. Пусть мы находимся в каталоге C:\TEXT и запускаем пакетный файл с параметром Рассказ.doc (%1=Рассказ.doc). Тогда применение операторов, описанных в табл. 3.1, к параметру %1 даст следующие результаты: %~F1=C:\TEXT\Рассказ.doc %~D1=C: %~P1=\TEXT\ %~N1=Рассказ %~X1=.doc %~DP1=C:\TEXT\ %~NX1=Рассказ.doc
3.1 Создать в C:\Temp пакетный файл spr.bat, который при запуске его с параметром (параметр – имя соответствующей команды) создает текстовый файл, который должен содержать справку по данной команде команде (например, при запуске spr if – в C:\Temp должен быть создан файл if.txt, содержащий описание этой команды). Создать с помощью пакетного файла spr.bat текстовые файлы if.txt, goto.txt, for.txt, rem.txt, echo.txt. 3.2 Создать командный файл find.bat, который ищет в системных каталогах и выводит на экран полное путевое имя программ notepad.exe и calc.exe 3.3. Написать командный файл, который принимает три имени файла в качестве параметров и трижды сдвигает эти параметры, а затем выводит на экран содержимое первого параметра.
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (3725)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |