Команды, используемые в командных файлах

Команда Echo

Вывод на экран сообщения или задание режима вывода на экран сообщений команд. Вызванная без параметров команда echo выводит текущий режим.

Синтаксис

echo [{on|off}] [сообщение]

Параметры

{on|off} — Включение или отключения режима отображения на экране информации о работе команд.

сообщение — текст для вывода на экран.

Примечания

  • Команда echo сообщение может оказаться полезной, если отключен режим отображения работы команд. Для вывода сообщений из нескольких строк без вывода дополнительных команд между ними следует использовать несколько последовательных команд echo сообщение после команды echo off в пакетной программе.
  • Если используется команда echo off, приглашение командной строки не отображается на экране. Чтобы отобразить приглашение, введите команду echo on.
  • Чтобы отключить вывод строк, введите символ «коммерческого эт» (@) перед командой в пакетном файле.
  • Чтобы вывести на экране пустую строку, введите следующую команду:
  • echo.
  • Если требуется отключить режим отображения команд и при этом не выводить на экран строку самой команды echo, введите символ @ перед командой:

@echo off

Команда Goto

В пакетной программе передает управление Windows XP в строку, определенную меткой. Когда метка найдена, выполнение продолжается со следующей за ней строки.

Синтаксис

goto метка

Параметры

метка -Строка в пакетной программе, к которой выполняется переход.

a) Работа с расширениями командыgoto

Если расширения команды включены (по умолчанию они включены) и в команде goto используется метка :EOF, управление будет передано в конец файла текущего пакетного сценария для выхода из него без назначения метки. Когда используется команда goto с меткой :EOF, перед меткой должно быть вставлено двоеточие. Например: goto :EOF

  • Использование допустимых значений метки

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

  • Совпадение меток в пакетных программах

Метка, заданная в команде, должна соответствовать метке в тексте пакетной программы. В Windows NT/2000/XP строка пакетной программы, начинающаяся с двоеточия (:), опознается как метка и не обрабатывается как команда. Если в пакетном файле не содержится заданной метки, программа будет остановлена, а на экран будет выведено следующее сообщение:

Метка не найдена.

Команда Pause

Приостанавливает выполнение пакетной программы с выводом сообщения об ожидании нажатия пользователем любой клавиши.

Синтаксис

Pause

Примечания

  • При запуске команды prompt выводится следующее сообщение:

Для продолжения нажмите любую клавишу . . .

  • Если при работе пакетной программы была нажата комбинация CTRL+C для ее остановки, то на экран будет выведено следующее сообщение:

Завершить выполнение пакетного файла [Y(да)/N(нет)]?

Если была нажата клавиша Y (подтверждение), пакетная программа будет закончена и управление вернется операционной системе. По этой причине команда pause может быть вставлена перед разделом пакетного файла, который потребуется пропустить. Команда pause приостанавливает выполнение пакетной программы, аналогичное действие можно сделать, нажав комбинацию CTRL+C и Y.

Команда Rem

Добавляет комментарии в пакетные файлы или файлы настройки.

Синтаксис

rem[текст]

Параметры

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

  • Вывод комментариев на экран с помощью команды echo

Команда rem не выводит комментарии на экран. Для вывода комментариев на экран необходимо использовать команду echo on в пакетных файлах или в файле Config.nt.

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

Командным файлам из командной строки могут быть переданы аргументы. Аргументы задаются параметрами командной строки после имени файла. Файл Cmd.exe использует переменные с %0 по %9. При использовании пакетных параметров переменная %0 заменяется на имя пакетного файла, а переменные с %1 по %9 — на соответствующие аргументы, напечатанные в командной строке. Для доступа к переменным больше %9 используется команда shift. Параметр %* ссылается на все аргументы, которые передаются пакетному файлу, за исключением параметра %0.

Команда Shift

Изменяет положения пакетных параметров в пакетных файлах.

Синтаксис

Shift

Параметры отсутствуют

  • Использование параметра командной строки shift с расширениями командного процессора

Если расширения командного процессора разрешены (используются по умолчанию), команда shift поддерживает ключ /n, который указывает команде начинать сдвиг с n-го аргумента, где n — число от нуля до восьми. Например:

SHIFT /2

сдвинет %3 на %2, %4 на %3 и т. д. %0 и %1 останутся неизменными.

  • Работа команды shift

Команда shift изменяет значения замещаемых параметров %0 — %9 путем копирования каждого параметра в предыдущий. Другими словами, значение %1 копируется в %0, значение %2 — в %1 и т. д. Такой прием оказывается полезным при написании пакетных файлов, выполняющих одну и ту же операцию над любым числом параметров.

  • Работа более чем с 10 пакетными параметрами

Команда shiftтакже может быть использована для создания пакетных программ, воспринимающих более 10 параметров. В командной строке такой программы можно задать более 10-ти параметров, при этом все параметры, следующие за десятым (то есть за переменной%9) будут последовательно помещены в эту переменную %9.

  • Использование %* с командой shift

Команда shift не влияет на пакетный параметр %*.

  • Смещение параметров в обратном направлении

Команды, выполняющей обратный сдвигне существует. После сдвига параметров командой shift начальное значение первого параметра (%0) не может быть восстановлено.

Команда Call

Вызов одного пакетного файла из другого без завершения выполнения первого файла. Команда call принимает метки в качестве объекта вызова. Используемая в командной строке, а не в сценарии или пакетном файле, команда Call игнорируется.

Синтаксис

call [[диск:][путь] имя_файла [пакетные_параметры]] [:метка [аргументы]]

Параметры

[диск:][путь] имя_файла — задает имя и местоположение пакетного файла для запуска. Параметр имя_файла должен иметь расширение .bat или .cmd.

пакетные_параметры — задает данные командной строки, используемые программой пакетной обработки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %0 до %9) или переменные (например %baud%).

:метка — указывает метку, на которую должно быть передано управление программы пакетной обработки. При использовании команды call с этим параметром создается новый контекст пакетного файла, а управление передается инструкции, следующей за указанной меткой. Когда первый раз встречается конец пакетного файла (после перехода на метку), управление возвращается на инструкцию, следующую за инструкцией call. При втором достижении конца файла выполнение пакетной программы прекращается.

аргументы — задает данные командной строки, которые передаются в новый экземпляр программы пакетной обработки, начинающейся с :метки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %1 до %9) или переменные (например %baud%).

Пример

Для вызова программы Checknew.bat из другого пакетного файла в тексте родительского пакетного файла введите следующую строку:

Call checknew

Если родительская пакетная программа принимает два пакетных параметра и требуется передать их в файл Checknew.bat, включите следующую команду в родительскую пакетную программу:

call checknew %1 %2

Команды CD, DIR, START, COPY, XCOPY, MD, REN, DEL, EXIT, LogOff, ShutDown командной строки 💻 📝 🥇


Похожие статьи.

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