麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > BAT > 正文

dos 環(huán)境變量延遲擴展enabledelayedexpansion詳解

2020-06-09 14:28:06
字體:
來源:轉載
供稿:網(wǎng)友

一,什么是延遲環(huán)境變量擴展?

延遲變量全稱"延遲環(huán)境變量擴展",要理解這個東西,我們還得先理解一下什么叫變量擴展!
  CMD在解釋我們的命令的時候,首先會讀取一條完整的命令,然后對其進行一些命令格式的匹配操作,看你所輸入的
命令格式是不是符合它的要求.如果我們要在命令中引用一些變量,那么我們?nèi)绾巫孋MD在解釋我們的命令時,能識別
出這個變量呢?這時我們就可以在變量名字兩邊加一個%號,如%name%.當CMD在讀取我們的整條命令進行格式匹配的時
候,就會發(fā)現(xiàn)name這個字符兩邊加了%號,就不會把它當作普通字符處理,而是會把它當作一個變量處理,變量名叫name

  然后CMD就會找到變量名對應的值,用該值替換掉這個變量名字(name),(如果變量名不存在值,就返回空值).再將這
個替換好并且匹配的命令執(zhí)行!這個替換值的過程,就叫做變量擴展,說白了就是把變量的名字,用它的值給替換掉后
執(zhí)行!也就是批處理如何識別一個變量的過程.(注意:這里只是變量的擴展的意思,不是延遲環(huán)境變量擴展,要理解延
遲環(huán)境變量擴展,必須先理解什么是變量的擴展) 也就是批處理如何識別一個變量的過程.

例1,

@echo offset var=testecho %var%pause

  CMD在讀取到echo %var%這句命令后,就會進行匹配操作,它馬上就發(fā)現(xiàn)var字符兩邊有%號,這時CMD就會把它當作一
個變量處理,查看這個var變量名是不是有值,如果有就用該值把變量名var給替換掉,這里我們的var在上一條命令set
 var=test中,給var賦值為test,所以CMD會用test把%var%這個變量名替換掉,替換后的結果就為echo test了.這些步
驟都是CMD進行匹配操作的步驟,匹配完后,他再執(zhí)行echo test這條語句,這時我們的CMD中就會echo出一個test了.

  什么是環(huán)境變量擴展知道了,那什么是延遲環(huán)境變量擴展呢?

  在理解環(huán)境變量擴展時,我們知道CMD在解釋命令時,首先會把一條完整的命令進行讀取,然后進行匹配操作,匹配時
它會把命令里的變量用變量的值給替換掉,然后執(zhí)行這個替換好的命令.問題就出在"一條完整的命令",在BAT中,IF
FOR這樣的命令都可以加括號,將一些命令嵌套在里面執(zhí)行.這樣的話對于一條可以加擴號嵌其他命令的命令,他的完
整格式就是for %%i in (....)這樣一個整體.此時,如果我們?nèi)绻诶ㄌ柪锩媲度胍恍┰O置變量值的命令,就會出現(xiàn)
問題了!

例2,

@echo offfor /l %%i in (1,1,5) do ( set var=%%i echo %var%)pause

執(zhí)行后會顯示5個空行的錯誤提示!為什么?根據(jù)我們上面說的知識來理解。

  通過這兩個例子,大家應該已經(jīng)理解,如果只有環(huán)境變量擴展這個過程的話,如果我們在可以嵌套命令的命令中執(zhí)行

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人午夜精品久久久久久久3d | 媚药按摩痉挛w中文字幕 | 欧美wwwsss9999 | 成人羞羞在线观看网站 | 国产激情视频在线 | 一级在线观看 | h视频在线观看免费 | 国产成年人网站 | 叉逼视频 | 香蕉久久久久 | 91在线视频免费观看 | 免费人成在线播放 | 成人三级电影在线 | 日韩毛片网 | 日日天日日夜日日摸 | 国产免费观看av | 免费观看黄色一级视频 | 中文字幕在线观看免费视频 | 欧美成人精品不卡视频在线观看 | 高清一区二区在线观看 | 久久国产精品久久久久 | 国产精品久久久久av | 黄色网战入口 | 激情久久一区二区 | 91精品国产乱码久久久久久久久 | 91av在线免费观看 | 欧美大片一级毛片 | 亚洲综合视频网站 | 中国老女人一级毛片视频 | 黄色网址在线免费播放 | 亚洲免费毛片基地 | 久久久久久久免费看 | 国产成人高清在线观看 | 爱福利视频网 | 91精品国产日韩91久久久久久360 | 91久久久久久亚洲精品禁果 | qyl在线视频精品免费观看 | 国产精品久久久久久久久久大牛 | 99视频网址| 精品一区二区亚洲 | 在线观看福利网站 |