Windows 2000和WindowsXP及更高版本的call语法
从另一个批处理程序调用一个批处理程序。
调用 [驱动器:][路径]文件名[批处理参数]
如果启用了命令扩展,请按以下方式调用更改:
Call命令现在接受标签作为调用的目标。语法是:
调用:标签参数
使用指定的参数创建新的批处理文件,并在指定的标签后将控件传递给语句。为了到达两次批处理脚本文件的末尾,您必须“退出”两次。 当第一次读取到结尾时,控件将返回到Call语句之后。第二次将退出批处理脚本。输入GOTO /?有关Goto:EOF扩展的描述,该扩展允许你从批处理脚本“返回”。
批处理脚本参数引用的扩展(%0、%1等)修改如下:
%*在批处理脚本中指所有参数(例如,%1 %2 %3 %4 %5.)
批处理参数(%n)的替换得到了改善。 现在可以使用以下可选语法:
%~1
|
展开%1,删除所有周围的引号(")。
|
%~f1
|
将%1展开为完全限定的路径名。
|
%~d1
|
只将%1展开为驱动器号。
|
%~p1
|
只将%1展开为路径。
|
%~n1
|
只将%1展开为文件名。
|
%~x1
|
只将%1展开为文件扩展名。
|
%~s1
|
只展开包含短名称的路径。
|
%~a1
|
将%1展开为文件属性。
|
%~t1
|
将%1展开到文件的日期/时间。
|
%~z1
|
将%1展开为文件大小。
|
%~$PATH:1
|
搜索PATH环境变量中列出的目录,并将%1展开为第一个找到的目录的完全限定名。如果未定义环境变量名或搜索未找到文件,则此修饰符将展开为空字符串。
|
这些修饰符可以组合得到复合结果:
%~dp1
|
只将%1展开为驱动器号和路径。
|
%~nx1
|
只将%1展开为文件名和扩展名。
|
%~dp$PATH:1
|
搜索PATH环境变量中列出的目录%1,并展开到找到的第一个驱动器号和路径。
|
%~ftza1
|
将%1展开为类似于DIR的输出行.
|
在上面的示例中,%1和PATH可以被其他有效值替换。%~语法以有效的参数号结束。%~修饰符不能与%*参数一起使用。
MS-DOS,Windows 95,Windows 98,Windows ME的call语法
从另一个批处理程序调用一个批处理程序。
调用 [驱动器:][路径]文件名[批处理参数]
批处理参数指定批处理程序所需的任何命令行信息。
Windows 2000 and Windows XP and later call syntax
Calls one batch program from another.
CALL [drive:][path]file name [batch-parameters]
If Command Extensions are enabled, CALL changes as follows:
CALL command now accepts labels as the target of the CALL. The syntax is:
CALL :label arguments
A new batch file context is created with the specified arguments and control is passed to the statement after the label specified. You must "exit" twice by reaching the end of the batch script file twice. The first time you read the end, control returns to after the CALL statement. The second time will exit the batch script. Type GOTO /? for a description of the GOTO :EOF extension that allows you to "return" from a batch script.
The expansion of batch script argument references (%0, %1, etc.) are changed as follows:
%* in a batch script refers to all the arguments (e.g., %1 %2 %3 %4 %5 ...)
Substitution of batch parameters (%n) is enhanced. You can now use the below optional syntax:
%~1
|
Expands %1 removing any surrounding quotes (").
|
%~f1
|
Expands %1 to a fully qualified path name.
|
%~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 extension only.
|
%~s1
|
Expanded path contains short names only.
|
%~a1
|
Expands %1 to file attributes.
|
%~t1
|
Expands %1 to date/time of file.
|
%~z1
|
Expands %1 to size of file.
|
%~$PATH:1
|
Searches the directories listed in the PATH environment variable and expands %1 to the fully qualified name of the first one 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 modifiers can be combined to get compound results:
%~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 expands to the drive letter and path of the first one found.
|
%~ftza1
|
Expands %1 to a DIR-like output line.
|
In the examples above, %1 and PATH can be replaced by other valid values. The %~ syntax is terminated by a valid argument number. The %~ modifiers may not be used with %* parameter.
MS-DOS, Windows 95, Windows 98, Windows ME call syntax
Calls one batch program from another.
CALL [drive:][path]file name [batch-parameters]
The batch-parameters specifies any command line information required by the batch program.