【WINDOWS / DOS 批处理】call命令的二次变量展开特性

本文详细介绍了批处理中call命令的两种格式及其执行过程,强调了call命令的二次变量展开特性。通过实例展示了如何在FileName、[Drive:] [Path] 和 Pararneters 中展开变量,并探讨了call命令的嵌套使用,每增加一层call,变量展开次数相应增加。此外,还提及在小括号内的复合语句中,call命令的变量展开值可能有所不同。
摘要由CSDN通过智能技术生成

 call命令详解 

CALL命令格式

格式一:call  [ [Drive:] [Path]  FileName  [Pararneters] ] 

格式二:call  [:label [arguments] ]

使用call命令,可以调用 FileName(包括批处理文件、其它执行命令)或 :label 标签

【CALL命令的执行过程】

什么是变量展开

【格式一】call  [ [Drive:] [Path]  FileName  [Pararneters] ]  

第一步:第一次变量展开

读入“call  [ [Drive:] [Path]  FileName  [Pararneters] ] ”整条命令,call命令被解释执行之前,先对其参数(即:“[ [Drive:] [Path]  FileName  [Pararneters] ] ”)进行变量展开操作,例如,如果 FileName 包含%myvar%,则%myvar%会被展开。

第二步:执行call命令

使用变量展开的结果作为参数执行call命令,在【格式一】中,call的命令功能是调用其参数所指定的命令(为描述简洁,这里称之为参数命令),这样,参数命令就被调用了。

第三步:第二次变量展开

参数命令被解释执行之前,先对自身命令格式进行变量展开操作

第四步:执行参数命令

使用变量展开的结果执行参数命令

下面举例说明: 

1、展开 FileName 中的变量,这样的 FileName,通常被称为“嵌套命令”,示例如下:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值