@echo off&setlocal enabledelayedexpansion ,&setlocal enabledelayedexpansion 是什么意思
展开全部
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”了。
明白了不?
说得直白一点,所谓的“变量扩展”,实际上就是很简单的这么一件事情:用具体的值去替换被引用的变量及紧贴在它左右的那对百分号。
语言组织能力实在不怎么样,这个语句在批处理中算的上是中高级的类型了,如果你想要详细了解的话,还需要百度“变量延迟”来找一些相应的资料进行学习,在这里我实在不能描述太多,简简单单的一个例子也说明不了问题,因为实际上变量延迟的用法在复合语句中有很多种应用方式,所以建议你通过搜索引擎去找一些相关资料。最后,祝你能早日学成,哈哈……希望我的回答能帮助到你!
举个简单的例子来说明一下
@echo off
set num=0&&echo %num%
pause
本意是想对变量num赋值之后,再把这个值显示出来,结果,显示出来的并不是0,而是显示:ECHO 处于关闭状态。
之所以会出错,是因为“变量延迟”这个家伙在作怪。然后,我们开启变量延迟看一看
@echo off
setlocal enabledelayedexpansion
set num=0&&echo !num!
pause
这样就可以显示出结果“0”了。
明白了不?
说得直白一点,所谓的“变量扩展”,实际上就是很简单的这么一件事情:用具体的值去替换被引用的变量及紧贴在它左右的那对百分号。
语言组织能力实在不怎么样,这个语句在批处理中算的上是中高级的类型了,如果你想要详细了解的话,还需要百度“变量延迟”来找一些相应的资料进行学习,在这里我实在不能描述太多,简简单单的一个例子也说明不了问题,因为实际上变量延迟的用法在复合语句中有很多种应用方式,所以建议你通过搜索引擎去找一些相关资料。最后,祝你能早日学成,哈哈……希望我的回答能帮助到你!
聚保华泰
2024-10-21 广告
2024-10-21 广告
网络安全保险Cyber Insurance,拥有丰富的承保经验和专业的服务团队,全面覆盖,企业因网络安全事故造成的营业损失和第三方赔偿责任.保险国际信用评级A,出口产品责任保险,为您提供全球网络服务.是工伤险的完美补充承保律师,会计师,工程...
点击进入详情页
本回答由聚保华泰提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询