
- •Пакетные файлы
- •Общие правила оформления пакетных файлов
- •Символы условной обработки
- •% (Замещаемый параметр)
- •Содержание лабораторной работы
- •Приложение 1 Применение команд операционной системы
- •Копирование нескольких файлов
- •Команды, используемые в пакетных файлах
- •Примеры
- •Примечания
- •Примеры
- •If [/I] строка1 оп_сравнения строка2 команда [else выражение]
- •If cmdextversion число команда [else выражение]
- •If defined переменная команда [else выражение]
- •Примечания
- •Примеры
- •Примеры
- •Примеры
- •Примечания
- •Примеры
- •Примечания
- •Примеры
Лабораторная работа № 2
Работа с командной строкой. Создание пакетных файлов
Цель работы:
изучить систему команд для работы с командной строкой;
научиться выполнять действия над файлами и каталогами с помощью команд командной строки;
научиться создавать пакетные файлы для управления запуском приложений.
Общие сведения
Навык работы с командной строкой пользователям операционных систем Windows необходим:
для работы с консолью восстановления при устранении неполадок в системе.
для автоматического запуска последовательности файлов с помощью пакетных файлов
для настройки запуска программ, работающих в режиме эмуляции MS-DOS.
Общие сведения о командах операционной системы
Система команд операционных систем Windows включает в себя множество команд операционной системы MS-DOS (предшественницы операционных систем Windows, расшифровывается как дисковая операционная система Майкрософт) и команды, присущие конкретной ОС. Команды операционной системы позволяют выполнить все виды работ пользователя: запись и чтение с дисков, вывод на экран, управление с помощью клавиатуры и множество других внутренних операций, обеспечивающих выполнение программ и организацию файлов.
Работа с командами ОС выполняется в режиме командной строки. При этом происходит эмуляция (моделирование сеанса работы в MS-DOS) операционной системы MS-DOS в среде операционных систем Windows (Windows 98, Windows NT/2000/XP).
Вызов командной строки: Пуск→Программы→Стандартные→Командная строка.
Команды вводятся в окне командной строки. Для завершения сеанса MS-DOS введите exit в окне командной строки в позиции мерцающего курсора.
Команды MS-DOS и Windows 2000/XP
Система Windows 2000 поддерживает и расширяет почти все возможности системы MS-DOS. Кроме того введено множество новых команд, недоступных в MS-DOS.
В таблице представлен список некоторых наиболее часто используемых команд MS-DOS и Windows:
Команда |
Назначение |
attrib |
Просмотр и изменение атрибутов файла |
Chdir или cd |
Вывод имени текущего каталога или переход в другую папку. |
Chkdsk |
Вывод на экран отчета о состоянии диска в форме, зависящей от используемой файловой системы. Команда chkdsk также составляет список ошибок на диске и исправляет их. |
Cls |
Очистка экрана. На очищенном экране выводится только приглашение командной строки и курсор |
Comp |
Сравнение двух или нескольких файлов побайтно |
Color |
Установка цвета текста и фона в окне командной строки |
Convert |
Преобразование томов с файловой системой FAT и FAT32 в тома с файловой системой NTFS. Текущий диск не может быть преобразован |
Copy
|
Копирование одного или нескольких файлов в другое место. Эта команда также может использоваться для слияния файлов. При копировании более чем одного файла на экран будут выводиться имена копируемых файлов |
Country |
Задание использования подсистемой MS-DOS международного формата для времени, дат, валют, разделителей и преобразования символов |
Date |
Вывод или изменение текущей даты с клавиатуры или из пакетного файла |
Del (Erase) |
Удаление заданных файлов |
Dir |
Вывод списка файлов в каталоге и подкаталогов |
Exit |
Выход из программы командного интерпретатора (Cmd.exe) и возврат в программу, вызвавшую Cmd.exe, если она существует, или в операционную систему |
Echo |
Вывод на экран сообщения или задание режима вывода на экран сообщений команд |
Find |
Поиск заданной строки текста в файле или нескольких файлах |
Graphics |
Загрузка в память программы, позволяющей системе Windows 2000 печатать на принтере изображение с экрана монитора, если используется цветной или графический адаптер |
Mkdir (md) |
Создание каталога или подкаталога |
More |
Поэкранный вывод информации. Обычно команда используется для просмотра длинных файлов. Данная команда может быть использована самостоятельно или для управления выводом другой команды, например команды type. Когда заполняется вся доступная область просмотра, появляется подсказка команды more, в ответ на которую можно ввести любую команду, управляющую способом просмотра оставшейся части файла |
Path |
Установка пути поиска для исполняемых файлов |
Prompt |
Изменение приглашения командной строки Windows 2000 (Cmd.exe). Вид приглашения командной строки может быть настроен так, чтобы выводить имя текущего каталога, текущее время, номер версии Windows 2000 и другие сведения |
Rename (Ren) |
Изменение имени файла или набора файлов. Допускается переименование нескольких файлов, соответствующих заданному шаблону. Команда rename не может быть использована для перемещения файлов на другой диск или в другой каталог |
Rmdir (Rd) |
Удаление каталога |
Time |
Вывод системного времени или установка внутренних часов компьютера |
Winnt |
Установка Windows 2000 или обновление до Windows 2000 |
Xcopy |
Копирование файлов и каталогов, включая подкаталоги |
При работе с командами ОС используются шаблоны файлов (* и ?) и имена стандартных устройств.
* ‑ любое количество любых символов,
? – один любой символ или отсутствие символа.
Зарезервированные имена устройств:
CON – консоль (клавиатура+экран),
PRN – принтер,
NUL – фиктивное устройство. При попытке чтения выдает конец файла (EOF), при выдаче на это устройство операция игнорируется.
Описание часто используемых команд MS-DOS и их применение приведено в Приложении 1.
Пакетные файлы
Последовательность команд операционной системы можно выполнить, объединив их в специальный командный файл, называемый пакетным. Пакетные файлы позволяют упростить утомительные или часто используемые задачи.
Пакетная программа представляет собой текстовый файл (обычный текст в формате ASCI , содержащий одну или несколько команд операционной системы и имеющий расширение имени .bat или .cmd. При запуске пакетного файла команды, записанные в файле, выполняются в заданной последовательности. Например, пакетный файл, содержащий две строки
c:\windows\system32\calc.exe
c:\windows\system32\notepad.exe
вызовет стандартный Калькулятор, а при его закрытии вызовет Блокнот.
Общие правила оформления пакетных файлов
для запуска исполняемого файла из пакетного следует просто указать его имя,
следует указывать полный путь доступа к файлам, если файл не содержится в текущем каталоге,
допускается использование подстановочных символов звездочка (*) или вопросительный знак (?) для замены наборов символов,
метка всегда содержится в отдельной строке и начинается с двоеточия,
при запуске каждой программы вырабатывается код ошибки выполнения – переменная errorlevel. В случае отсутствия ошибки errorlevel =0,
существование файла можно проверить с помощью операции exist:
значение операции exist имя файла равно True, если указанный файл существует.
Символы условной обработки
Символы условной обработки используются для ввода несколько команд одновременно и управления работой команд в зависимости от результатов их выполнения.
Амперсанд (&) разделяет несколько команд в одной командной строке.
Скобки группируют несколько команд.
Точка с запятой и запятая (; ,) разделяют параметры команд.
Символ (^) отменяет специальное использование управляющего символа, и управляющий символ можно использовать в тексте.
Двойной амперсанд (&&) запускает команду, стоящую за ним в командной строке, только если команда, стоящая перед этим символом была выполнена успешно.
Двойной символ канала (||) запускает команду, стоящую за этим символом, только если команда, идущая перед ним не была успешно выполнена.
call |
goto |
setlocal |
echo |
if |
shift |
endlocal |
pause |
% |
for |
rem |
|
Любая команда может быть включена в пакетный файл. Команды for, goto и if позволяют осуществлять обработку условий в пакетных файлах. Например, if позволяет выполнять команды в зависимости от выполнения заданного условия. Заменяемый параметр % задает переменные аргументы (параметры) пакетного файла.
% (Замещаемый параметр)
Замещаемые параметры %0 и от %1 до %9 могут быть помещены в любом месте пакетного файла. При запуске пакетного файла %0 замещается именем пакетного файла, а переменные аргументов с %1 по %9 замещаются соответствующими параметрами, введенными в командной строке после имени пакетного файла (аргументы пакетного файла).
Пример:
Пусть при запуске .bat файла используется строка:
mybatch.bat C:\afolder D:\bfolder
тогда C:\afolder – первый параметр (%1), а D:\bfolder – второй параметр (%2).
Чтобы скопировать содержимое одной папки в другую, в пакетный файл должна быть добавлена следующая инструкция:
xcopy %1\*.* %2
Результат будет таким же, как и при записи в пакетный файл строки
xcopy C:\afolder \*.* D:\bfolder.
Сочетание %* в пакетной программе ссылается на все аргументы.
Некоторые дополнительные возможности описаны в следующих таблицах:
Переменная |
Описание |
%~1 |
расширение %1, которое удаляет окружающие кавычки (") |
%~f1 |
замена %1 полным путем |
%~d1 |
замена %1 именем диска |
%~p1 |
замена %1 путем |
%~n1 |
замена %1 именем файла |
%~x1 |
замена %1 расширением имени файла |
%~s1 |
замена путем, содержащим только короткие имена. |
%~a1 |
замена %1 атрибутами файла |
%~t1 |
замена %1 временем модификации файла |
%~z1 |
замена %1 размером файла |
%~$PATH:1 |
поиск в каталогах, перечисленных в переменной среды PATH, и замена %1 полным именем первого найденного файла. Если переменная среды не определена или поиск не обнаружил файлов, модификатор выдает пустую строку. |
Модификаторы могут быть объединены для получения более сложных результатов:
Переменная |
Описание |
%~dp1 |
замена %1 именем диска и путем |
%~nx1 |
замена %1 именем файла и расширением |
%~dp$PATH:1 |
поиск в каталогах, перечисленных в переменной среды PATH, и замена %1 именем диска и путем к первому найденному файлу. |
%~ftza1 |
замена %1 строкой, аналогичной результату работы программы dir |
Примечание. Конструкция %~ должна завершаться допустимым номером аргумента. Модификаторы %~ не могут быть использованы вместе с %*.В приведенных выше примерах %1 и PATH могут быть заменены другими допустимыми значениями.
Команды, используемые в пакетных файлах описаны в Приложении 2