@echo off&setlocal enabledelayedexpansion ,&setlocal enabledelayedexpansion 是什么意思

 我来答
来自飞英塔说话诙谐的春风
2012-08-21 · TA获得超过1726个赞
知道小有建树答主
回答量:414
采纳率:60%
帮助的人:407万
展开全部
set是设置的意思,local是本地的意思,enable是能够的意思,delayed是延迟的意思,expansion是扩展的意思,合起来,就是:让变量成为局部变量,并延迟它的扩展行为

举个简单的例子来说明一下
@echo off
set num=0&&echo %num%
pause
本意是想对变量num赋值之后,再把这个值显示出来,结果,显示出来的并不是0,而是显示:ECHO 处于关闭状态。

之所以会出错,是因为“变量延迟”这个家伙在作怪。然后,我们开启变量延迟看一看
@echo off
setlocal enabledelayedexpansion
set num=0&&echo !num!
pause
这样就可以显示出结果“0”了。
明白了不?

说得直白一点,所谓的“变量扩展”,实际上就是很简单的这么一件事情:用具体的值去替换被引用的变量及紧贴在它左右的那对百分号

语言组织能力实在不怎么样,这个语句在批处理中算的上是中高级的类型了,如果你想要详细了解的话,还需要百度“变量延迟”来找一些相应的资料进行学习,在这里我实在不能描述太多,简简单单的一个例子也说明不了问题,因为实际上变量延迟的用法在复合语句中有很多种应用方式,所以建议你通过搜索引擎去找一些相关资料。最后,祝你能早日学成,哈哈……希望我的回答能帮助到你!
名片
2024-10-28 广告
作为优菁科技(上海)有限公司的一员,Altair HyperWorks是我们重点代理的CAE软件套件。该软件以其全面的仿真能力、丰富的建模工具和高效的优化设计功能著称,广泛应用于汽车、航空航天、能源及电子等行业。HyperWorks通过集成... 点击进入详情页
本回答由名片提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式