CALL

简介: CALL

作用

CALL 命令可以在批处理执⾏过程中调⽤另⼀个批处理,当另⼀个批处理执⾏完后,再继续执⾏原来的批处理。


CALL command

调⽤⼀条批处理命令,和直接执⾏命令效果⼀样,特殊情况下很有⽤,⽐如变量的多级嵌套。


在批处理编程中,可以根据⼀定条件⽣成命令字符串,⽤ call 可以执⾏该字符串。

CALL [drive:][path]filename [batch-parameters]点击复制复制失败已复制


调⽤的其它批处理程序。


filename 参数必须具有 .bat.cmd 扩展名。

CALL :label arguments点击复制复制失败已复制


调⽤本⽂件内命令段,相当于⼦程序。被调⽤的命令段以标签 :label 开头,以命令 goto :eof 结尾。


批参数:

参数 功能
%~1 删除引号("),扩充 %1
%~f1 %1 扩充到⼀个完全合格的路径名
%~d1 仅将 %1 扩充到⼀个驱动器号
%~p1 仅将 %1 扩充到⼀个路径
%~n1 仅将 %1 扩充到⼀个⽂件名
%~x1 仅将 %1 扩充到⼀个⽂件扩展名
%~s1 扩充的路径指含有短名
%~a1 %1 扩充到⽂件属性
%~t1 %1 扩充到⽂件的⽇期/时间
%~z1 %1 扩充到⽂件的⼤⼩
%~PATH:1 查找列在PATH环境变量的⽬录,并将PATH:1在列在 PATH 环境变量中的⽬录⾥查找 %1, 并扩展到找到的第⼀个⽂件的驱动器号和路径。
%~ftza1 %1 扩展到类似 DIR 的输出⾏。


提示

在上⾯的例⼦中, %1PATH 可以被其他有效数值替换。 %~ 语法被⼀个有效参数号码终⽌。 %~ 修定符不能跟 %* 使⽤。


注意

参数扩充时不理会参数所代表的⽂件是否真实存在,均以当前⽬录进⾏扩展。


示例1

@echo off
Echo 产⽣⼀个临时⽂件 > tmp.txt
:: 下⾏先保存当前⽬录,再将c:\windows设为当前⽬录
pushd c:\windows
Call :sub tmp.txt
:: 下⾏恢复前次的当前⽬录
Popd
Call :sub tmp.txt
pause
Del tmp.txt
exit
:sub
Echo 删除引号: %~1
Echo 扩充到路径: %~f1
Echo 扩充到⼀个驱动器号: %~d1
Echo 扩充到⼀个路径: %~p1
Echo 扩充到⼀个⽂件名: %~n1
Echo 扩充到⼀个⽂件扩展名: %~x1
Echo 扩充的路径指含有短名: %~s1
Echo 扩充到⽂件属性: %~a1
Echo 扩充到⽂件的⽇期/时间: %~t1
Echo 扩充到⽂件的⼤⼩: %~z1  
Echo 扩展到驱动器号和路径:%~dp1
Echo 扩展到⽂件名和扩展名:%~nx1
Echo 扩展到类似 DIR 的输出⾏:%~ftza1
Echo.
Goto :eof点击复制复制失败已复制


示例2

set aa=123456
set cmdstr=echo %aa%
call %cmdstr%
pause点击复制复制失败已复制


提示

本例中如果不⽤ call ,⽽直接运⾏ %cmdstr% ,将显⽰结果 %aa% ,⽽不是 123456

目录
相关文章
ambiguous call to overloaded function
ambiguous call to overloaded function
|
10月前
|
前端开发
【JCEF】关于-1 The query has been canceled或Unexpected call to CefQueryCallback_N::finalize()错误
【JCEF】关于-1 The query has been canceled或Unexpected call to CefQueryCallback_N::finalize()错误
90 0
|
前端开发
|
JavaScript
深入理解 V8 的 Call Stack
Call Stack(调用栈) 一般指计算机程序执行时子程序之间消息处理的相互调用产生的一些列函数序列,而且几乎所有的计算机程序都依赖于调用栈。
3627 0
|
JavaScript
一步一步实现call和apply方法,超简单!
前言 this 指向问题一直是一个老生常谈的问题了!我们对它可以说是又爱又恨,因为 this 指向常常没有按照我们的想法去指向谁,导致程序无缘出现许多 bug。所以我们常常直接强制改变程序中的 this 指向,我们常用的方法有 bind、apply 和 call,bind 与其它两个稍许不同,所以我们本篇文章专门讲解 call 和 apply 方法,并且手动模拟实现它们。
160 0
一步一步实现call和apply方法,超简单!
|
JavaScript
call, call.call, call.call.call, 你也许还不懂这疯狂的call
Function.prototype.call 我想大家都觉得自己很熟悉了,手写也没问题!! 你确认这个问题之前, 首先看看 三千文字,也没写好 Function.prototype.call,
161 0
call, call.call, call.call.call, 你也许还不懂这疯狂的call
|
JavaScript 前端开发
ES6—12:call()方法的应用
ES6—12:call()方法的应用
150 0
ES6—12:call()方法的应用