Command scripts are just a series of commands saved in a file with a .bat extension.

Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

call

  • Article
  • 10/31/2022
  • 3 minutes to read

In this article

Calls one batch program from another without stopping the parent batch program. The call command accepts labels as the target of the call.

Note

Call has no effect at the command prompt when it is used outside of a script or batch file.

Syntax

call [drive:][path] []] 
call [: []]

Parameters

ParameterDescription
[:][] Specifies the location and name of the batch program that you want to call. The parameter is required, and it must have a .bat or .cmd extension.
Specifies any command-line information required by the batch program.
: Specifies the label that you want a batch program control to jump to.
Specifies the command-line information to be passed to the new instance of the batch program, beginning at :.
/? Displays help at the command prompt.

Batch parameters

The batch script argument references [%0, %1, ...] are listed in the following tables.

Using 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]:

Batch ParameterDescription
%~1 Expands %1 and removes surrounding quotation marks.
%~f1 Expands %1 to a fully qualified path.
%~d1 Expands %1 to a drive letter only.
%~p1 Expands %1 to a path only.
%~n1 Expands %1 to a file name only.
%~x1 Expands %1 to a file name extension only.
%~s1 Expands %1 to a fully qualified path that contains short names only.
%~a1 Expands %1 to the file attributes.
%~t1 Expands %1 to the date and time of file.
%~z1 Expands %1 to the size of the file.
%~$PATH:1 Searches the directories listed in the PATH environment variable, and expands %1 to the fully qualified name of the first directory found. If the environment variable name is not defined or the file is not found by the search, then this modifier expands to the empty string.

The following table shows how you can combine modifiers with the batch parameters for compound results:

Batch Parameter with ModifierDescription
%~dp1 Expands %1 to a drive letter and path only.
%~nx1 Expands %1 to a file name and extension only.
%~dp$PATH:1 Searches the directories listed in the PATH environment variable for %1, and then expands to the drive letter and path of the first directory found.
%~ftza1 Expands %1 to display output similar to the dir command.

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 %*.

Remarks

  • Using 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 [] 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 : .

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, type the following command in the parent batch program:

call checknew %1 %2

Additional References

  • Command-Line Syntax Key

Feedback

Submit and view feedback for

Which of the following is a series of commands saved in a text file?

A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file.

How often are computer and user policies applied after a user has logged into a computer?

By default, user Group Policy is refreshed/applied in the background every 90 minutes, with a random offset of 0 to 30 minutes [method 3]. But for this 90 minutes and 0 to 30 minutes, we can configure GPO to customize refresh interval.

What command will allow you to find and display objects in Active Directory?

DSQUERY.exe—This command allows you to perform a search to locate computers, contacts, groups, OUs, partitions, quotas, servers [DCs], sites, subnets, or users within Active Directory. You can specify search criteria for finding Active Directory objects.

When a GPO is linked to a site object What will be affected?

If you link a GPO to a site, its settings will apply to all objects in that site; the objects are said to fall into the GPO's scope of management. More than one GPO can be linked to a given site, and those GPOs could have conflicting settings.

What command can be used to cause a Group Policy refresh remotely on Windows Vista and later clients?

Windows PowerShell equivalent commands The Invoke-GPUpdate cmdlet allows you to schedule a remote Group Policy update for a specified computer with all the options that the GPUpdate.exe command-line utility provides.

Chủ Đề