call - 从一个批处理程序中调用另一个批处理程序,而不会引起第一个批处理的中止

2023-08-03 12:03 更新

从一个批处理程序中调用另一个批处理程序,而不会引起第一个批处理的中止。

 

CALL [drive:][path]filename [batch-parameters] 

 

[drive:][path]filename

指定要调用的批处理程序的名字及其存放处。文件名必须用.BAT作扩展名。

 

batch-parameters 指定批处理程序所需的命令行信息。

 

如果命令扩展名被启用,CALL 会如下改变:

CALL 命令现在将卷标当作 CALL 的目标接受。语法是:

    CALL:label arguments

 

一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。您必须通过达到批脚本文件末两次来 "exit" 两次。第一次读到文件末时,控制会回到 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 可以被其他有效数值替换。

    %~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*使用。

 

★★★★★实例★★★★★:

从另一批处理程序运行CHECKNEW.BAT,在父批处理程序中可包含命令:

call checknew

 

假设父批处理程序接收两个可替换参数,并希望将它们传给CHECKNEW.BAT。

可在父批理程序中使用命令:

call checknew %1 %2


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号