Командные файлы операционной системы MS Windows. Лясин Д.Н - 18 стр.

UptoLike

Составители: 

18
@ЕСНО OFF
REM Если файл был запущен без параметров, выходим из него,
REM иначе печатаем первый параметр
IF -%1==- GOTO :EOF
ECHO %1
Второй способ передачи управления, причем как внутри самого пакетного
файла, так и при обращении к другим пакетным файламиспользование команды
call.
Для того, чтобы обратиться к внешнему командному файлу достаточно
указать его и его параметры в команде call:
call файл пакетные_параметры
Пример:
call test.bat par1 par2 par3
Данный вызов приведет к передаче управления командному файлу test.bat
c тремя указанными параметрами. Альтернативой подобному запуску может стать
использование имени стороннего командного файла в качестве имени команды:
test.bat par1 par2 par3
Но при последнем вызове после окончания работы командного файла
test.bat управление не будет возвращено в вызывавший командный файл, а, следо-
вательно, не будут выполнены все следующие за командой вызова инструкции.
Вызов же командой call позволяет по окончании работы вызванного командного
файла вернуться в вызвавший и продолжить его выполнение.
В качестве адресата вызова команды call допустимо использовать метки
внутри текущего командного файла:
CALL :метка аргументы
При вызове такой команды создается новый контекст текущего пакетного
файла с заданными аргументами и управление передается на инструкцию, распо-
ложенную сразу после метки. Для выхода из такого пакетного файла необходимо
два раза завершить его работу, достигнув конца командного скрипта или вызвав
команду exit /b (ключ /b позволяет завершить работу лишь командного файла, а
не сеанса оболочки). При этом первый выход будет означать возврат управления
на инструкцию, расположенную сразу после строки call, а второй выход заверша-
ет выполнение пакетного файла. Такое поведение команды call позволяет оформ-
лять фрагменты кода в виде подпрограмм:
call :proc1 par1 par2
...
:proc1
rem Здесь %0=:proc1 %1=par1 %2=par2
...
exit /b
...
Команды перехода
Организация ветвлений алгоритмов в зависимости от выполнения или не-
      @ЕСНО OFF
      REM Если файл был запущен без параметров, выходим из него,
      REM иначе печатаем первый параметр
      IF -%1==- GOTO :EOF
      ECHO %1
       Второй способ передачи управления, причем как внутри самого пакетного
файла, так и при обращении к другим пакетным файлам – использование команды
call.
       Для того, чтобы обратиться к внешнему командному файлу достаточно
указать его и его параметры в команде call:
      call   файл пакетные_параметры
      Пример:
      call   test.bat par1 par2 par3
       Данный вызов приведет к передаче управления командному файлу test.bat
c тремя указанными параметрами. Альтернативой подобному запуску может стать
использование имени стороннего командного файла в качестве имени команды:
      test.bat par1 par2 par3
       Но при последнем вызове после окончания работы командного файла
test.bat управление не будет возвращено в вызывавший командный файл, а, следо-
вательно, не будут выполнены все следующие за командой вызова инструкции.
Вызов же командой call позволяет по окончании работы вызванного командного
файла вернуться в вызвавший и продолжить его выполнение.
         В качестве адресата вызова команды call допустимо использовать метки
внутри текущего командного файла:
       CALL :метка аргументы
       При вызове такой команды создается новый контекст текущего пакетного
файла с заданными аргументами и управление передается на инструкцию, распо-
ложенную сразу после метки. Для выхода из такого пакетного файла необходимо
два раза завершить его работу, достигнув конца командного скрипта или вызвав
команду exit /b (ключ /b позволяет завершить работу лишь командного файла, а
не сеанса оболочки). При этом первый выход будет означать возврат управления
на инструкцию, расположенную сразу после строки call, а второй выход заверша-
ет выполнение пакетного файла. Такое поведение команды call позволяет оформ-
лять фрагменты кода в виде подпрограмм:
      call :proc1 par1 par2
      ...
      :proc1
      rem Здесь %0=:proc1 %1=par1 %2=par2
      ...
      exit /b
      ...


      Команды перехода
      Организация ветвлений алгоритмов в зависимости от выполнения или не-

                                         18