Computer and Software Support


call

This page is from Microsoft

Updated: January 21, 2005

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-line when used outside of a script or batch file.
 
 
Syntax
call [[Drive:][Path] FileName [BatchParameters]] [:Label [Arguments]]
Parameters
[ Drive:][Path] FileName
Specifies the location and name of the batch program you want to call. The FileName parameter must have a .bat or .cmd extension.
BatchParameters
Specifies any command-line information required by the batch program, including command-line options, file names, batch parameters (that is, %0 through %9), or variables (for example, %baud%).
:Label
Specifies the label to which you want a batch program control to jump. By using call with this 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. For a description of the goto :eof extension that allows you to return from a batch script, see Related Topics.
Arguments
Specifies any command-line information that you pass to the new instance of the batch program that begins at :Label, including command-line options, file names, batch parameters (that is, %1 through %9), or variables (for example, %baud%).
/?
Displays help at the command prompt.
Remarks
  • Using batch parameters

    Batch parameters can contain any information that you can pass to a batch program, including command-line options, file names, batch parameters (that is, %0 through %9), and variables (for example, %baud%). For more information about batch parameters, see Related Topics.

  • Using pipes and redirection symbols

    Do not use pipes and redirection symbols 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

    With command extensions enabled (that is, the default), call accepts a Label as the target of the call. The correct syntax is as follows:

    call:Label Arguments

    For more information about enabling and disabling command extensions, see cmd in Related Topics.

     

Examples
To run the Checknew.bat program from another batch program, type the following command in the parent batch program:

call checknew

If the parent batch program accepts two batch parameters and you want it to pass those parameters to Checknew.bat, use the following command in the parent batch program:

call checknew %1 %2

Formatting legend

 
Format Meaning
Italic Information that the user must supply
Bold Elements that the user must type exactly as shown
Ellipsis (...) Parameter that can be repeated several times in a command line
Between brackets ([]) Optional items
Between braces ({}); choices separated by pipe (|). Example: {even|odd} Set of choices from which the user must choose only one
Courier font Code or program output