@echo off&setlocal enabledelayedexpansion[亲测有效]

@echo off&setlocal enabledelayedexpansion[亲测有效]@echooff&setlocalenabledelayedexpansion中的&setlocalenabledelayedexpansion是什么意思 set是设置的意思,local是本地的意思,enable是能够的意思,delayed是延迟的意思,expansion是扩展的意思,合起来,就是:让变量成为局部变量,并延迟它的扩展行为举个简单的例子来说明一下@ech

大家好,欢迎来到IT知识分享网。

@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”了。
明白了不?

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

语言组织能力实在不怎么样,这个语句在批处理中算的上是中高级的类型了,如果你想要详细了解的话,还需要百度“变量延迟”来找一些相应的资料进行学习,在这里我实在不能描述太多,简简单单的一个例子也说明不了问题,因为实际上变量延迟的用法在复合语句中有很多种应用方式,所以建议你通过搜索引擎去找一些相关资料。最后,祝你能早日学成,哈哈……希望我的回答能帮助到你!

 

摘自:http://zhidao.baidu.com/question/467378341.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22559.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信