Опорный конспект:
Пакетные программы (также называемые пакетными файлами) позволяют упростить утомительные или часто используемые операции. Пакетная программа представляет собой неформатированный текстовый файл, содержащий одну или несколько команд и имеющий расширение имени .bat или .cmd. Когда имя такого файла вводится в командной строке, команды, записанные в файле, выполняются в заданной последовательности.
Echo
Вывод на экран сообщения или задание режима вывода на экран сообщений команд.
echo [on | off] [сообщение]
Параметры
on | off. Включение или отключения режима отображения на экране информации о работе команд. Для вывода текущего режима используется команда echo без параметров.
Сообщение. Задает текст для вывода на экран.
Примеры
Следующий пример представляет собой пакетный файл, выводящий сообщение из трех строк на экран с пустыми строками до и после него:
echo off echo. echo Эта пакетная программа echo форматирует и проверяет echo новые диски echo.
Если требуется отключить режим отображения команд и при этом не выводить на экран строку самой команды echo, следует использовать знак @ перед командой, как показано ниже:
@echo off
Вывод пустой строки. Для вывода пустой строки на экран следует использовать команду echo с точкой (echo.). Дополнительные пробелы не допускаются.
Call
Вызов одного пакетного файла из другого без завершения выполнения первого файла. Команда call теперь принимает метки в качестве объекта вызова.
call [диск:][путь] имя_файла [пакетные_параметры]
Параметры
[диск:][путь] имя_файла. Задает имя и местоположение пакетного файла для запуска. Параметр имя_файла должен иметь расширение .bat или .cmd.
пакетные_параметры. Задает параметры командной строки пакетного файла. Ниже в описании параметра аргументы указаны расширения для пакетных_параметров.
Примеры
Для вызова программы Checknew.bat из другого пакетного файла в текст родительского пакетного файла должна быть включена следующая строка:
call checknew
Предположим, что родительская пакетная программа получает два параметра и должна передавать их вызываемому пакетному файлу Checknew.bat. Для этого в родительском пакетном файле может быть использована следующая строка:
call checknew %1 %2
% (Замещаемый параметр)
Замещаемые параметры %0 и от %1 до %9 могут быть помещены в любом месте пакетного файла. При запуске пакетного файла %0 замещается именем пакетного файла, а переменные аргументов с %1 по %9 замещаются соответствующими параметрами, введенными в командной строке.
Например, чтобы скопировать содержимое одной папки в другую, в пакетный файл должна быть добавлена следующая инструкция:
xcopy %1\*.* %2
Для запуска файла введите следующее:
mybatch.bat C:\afolder D:\bfolder.
Результат будет таким же, как и при записи в пакетный файл строки xcopy C:\afolder \*.* D:\bfolder.
Параметр % разворачивает аргументы пакетной программы (%0, %1, ..., %9) как описано ниже:
%* в пакетной программе ссылается на все аргументы. Для отдельных переменных дополнительные возможности описаны в следующих таблицах.
Переменная |
Описание |
%~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 могут быть заменены другими допустимыми значениями. Конструкция %~ должна завершаться допустимым номером аргумента. Модификаторы %~ не могут быть использованы вместе с %*.
Shift
Изменение положения замещаемых переменных в пакетных файлах.
Если расширения командного процессора разрешены (используются в Windows 2000 по умолчанию), команда shift поддерживает ключ /n, который указывает команде начинать сдвиг с n-го аргумента, где n — число от нуля до восьми. Например,
SHIFT /2
сдвинет %3 на %2, %4 на %3 и т. д. %0 и %1 останутся неизменными.
Rem
Добавление комментариев в пакетные программы или файлы конфигураций.
rem [текст]
Параметр текст задает строку, используемую как комментарий.