вызывает
Вызывает одну пакетную программу из другой без остановки родительской пакетной программы. Команда Call принимает метки в качестве целевого объекта вызова
Вызов не оказывает влияния на командную строку, если она используется вне скрипта или пакетного файла.
Синтаксис
Параметры
Параметры пакета
Ссылки на аргумент скрипта пакетной службы (%0, %1. ) перечислены в следующих таблицах.
Использование значения % * в пакетном скрипте означает все аргументы (например, %1, %2, %3. ).
Можно использовать следующие необязательные синтаксисы в качестве подстановок для пакетных параметров (% n):
| Параметр Batch | Описание |
|---|---|
| % 1 | Развертывает %1 и удаляет окружающие кавычки. |
| % F1 | Расширение %1 до полного пути. |
| % D1 | Расширение %1 до буквы диска. |
| % P1 | Развертывает %1 только для пути. |
| % N1 | Расширение %1 только на имя файла. |
| % x1 | Развертывает %1 только для расширения имени файла. |
| % S1 | Расширение %1 до полного пути, содержащего только короткие имена. |
| % a1 | Развертывает %1 для атрибутов файла. |
| % T1 | Увеличивает %1 до даты и времени файла. |
| % Z1 | Расширение %1 до размера файла. |
| % $PATH: 1 | Выполняет поиск в каталогах, перечисленных в переменной среды PATH, и разворачивает %1 до полного имени найденного первого каталога. Если имя переменной среды не определено или файл не найден при поиске, то этот модификатор разворачивается до пустой строки. |
В следующей таблице показано, как можно объединить модификаторы с пакетными параметрами для составных результатов.
| Параметр Batch с модификатором | Описание | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| % DP1 | Расширение %1 до буквы диска и пути. | |||||||||||||||||||||||||||||||||||
| % nx1 | Развертывает %1 только для имени файла и расширения. | |||||||||||||||||||||||||||||||||||
| % В приведенных выше примерах %1 и Path могут быть заменены другими допустимыми значениями. % Синтаксис завершается допустимым номером аргумента. % Модификаторы нельзя использовать с % *. RemarksИспользование параметров пакетной службы: Пакетные параметры могут содержать любые сведения, которые можно передать в пакетную программу, включая параметры командной строки, имена файлов, параметры пакета %0 – %9 и переменные (например, % бод%). С помощью параметра: Использование каналов и символов перенаправления: Не используйте каналы (|) или символы перенаправления ( или > ) с вызовом. Выполнение рекурсивного вызова Можно создать пакетную программу, которая вызывает саму себя. Однако необходимо указать условие выхода. В противном случае родительские и дочерние пакетные программы могут подбираться бесконечно. Работа с расширениями команд Если расширения команд включены, вызов принимает в качестве цели вызова. Правильный синтаксис: call : Cmd call с параметрамиВызов одного пакетного файла из другого без завершения выполнения первого файла. Команда call принимает метки в качестве объекта вызова. Используемая в командной строке, а не в сценарии или пакетном файле, команда Call игнорируется. СинтаксисПараметрыЗаметкиПакетные параметры могут содержать любые сведения, которые допускается передавать в программы пакетной обработки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %0 до %9) или переменные (например %baud%). Для получения дополнительных сведений о пакетных параметрах щелкните ссылку CMD. Каналы и символы перенаправления не допускается использовать с командой call. Создание пакетных файлов, которые вызывают сами себя, допускается, однако в этом случае необходимо задать условия выхода. В противном случае родительская и дочерняя программы будут вызывать друг друга в бесконечном цикле. Если расширения командного процессора разрешены (задано по умолчанию), команда call принимает метки в качестве объекта вызова. Правильный синтаксис: Для получения дополнительных сведений о разрешении и запрещении расширений командного процессора смотрите описание команды cmd. ПримерыДля вызова программы Checknew.bat из другого пакетного файла в тексте родительского пакетного файла введите следующую строку: Если родительская пакетная программа принимает два пакетных параметра и требуется передать их в файл Checknew.bat, включите следующую команду в родительскую пакетную программу: Некоторые вопросы процедур, в том числе область видимости переменных, проблемы с возвратом значений из процедур и особенности использования команды CALL рассмотрены в разделе Примеры, страница Особенности процедур. Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация). Cmd call с параметрамиCalls one batch program from another without stopping the parent batch program. The call command accepts labels as the target of the call Call has no effect at the command prompt when it is used outside of a script or batch file. SyntaxParametersBatch parametersUsing the %* value in a batch script refers to all the arguments (for example, %1, %2, %3. ). You can use the following optional syntaxes as substitutions for batch parameters (%n):
The following table shows how you can combine modifiers with the batch parameters for compound results:
In the above examples, %1 and PATH can be replaced by other valid values. The % syntax is terminated by a valid argument number. The % modifiers cannot be used with %*. RemarksUsing batch parameters: Batch parameters can contain any information that you can pass to a batch program, including command-line options, file names, the batch parameters %0 through %9, and variables (for example, %baud%). Using the parameter: By using call with the parameter, you create a new batch file context and pass control to the statement after the specified label. The first time the end of the batch file is encountered (that is, after jumping to the label), control returns to the statement after the call statement. The second time the end of the batch file is encountered, the batch script is exited. Using pipes and redirection symbols: Do not use pipes (|) or redirection symbols ( or > ) with call. Making a recursive call You can create a batch program that calls itself. However, you must provide an exit condition. Otherwise, the parent and child batch programs can loop endlessly. Working with command extensions If command extensions are enabled, call accepts as the target of the call. The correct syntax is call : Процедуры и Функции CALLПомогите разобраться с процедурами CALL Заранее всем Спасибо! Помощь в написании контрольных, курсовых и дипломных работ здесь. Как организовать удаленный вызов процедуры (Remote Procedure Call) от клиента к серверу? Задачник Абрамян. Процедуры и функции. Процедуры с числовыми параметрами
Т.е. exit /b нужно вдобавок ставить 20-й строкой. А первый exit можно и без /b. Насколько я понял нужно обязательно указать два раза Exit Cmd call с параметрамиВызов одного пакетного файла из другого без завершения выполнения первого файла. Команда call принимает метки в качестве объекта вызова. Используемая в командной строке, а не в сценарии или пакетном файле, команда Call игнорируется. СинтаксисПараметрыЗаметкиПакетные параметры могут содержать любые сведения, которые допускается передавать в программы пакетной обработки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %0 до %9) или переменные (например %baud%). Для получения дополнительных сведений о пакетных параметрах щелкните ссылку CMD. Каналы и символы перенаправления не допускается использовать с командой call. Создание пакетных файлов, которые вызывают сами себя, допускается, однако в этом случае необходимо задать условия выхода. В противном случае родительская и дочерняя программы будут вызывать друг друга в бесконечном цикле. Если расширения командного процессора разрешены (задано по умолчанию), команда call принимает метки в качестве объекта вызова. Правильный синтаксис: Для получения дополнительных сведений о разрешении и запрещении расширений командного процессора смотрите описание команды cmd. ПримерыДля вызова программы Checknew.bat из другого пакетного файла в тексте родительского пакетного файла введите следующую строку: Если родительская пакетная программа принимает два пакетных параметра и требуется передать их в файл Checknew.bat, включите следующую команду в родительскую пакетную программу: Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация). Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь |
Функции и процедуры. При помощи процедуры записать слова задом наперед