Call

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

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

See Also

Concepts

Using batch parameters
Cmd
Goto
Using batch parameters
Command-line reference A-Z
Command shell overview