
批處理中的冒號消隱與標(biāo)簽重疊那么晚了,crlf還在啊,響應(yīng)你號召我整理下!~——————————————————————————————————————————————第一、冒號隱身術(shù)我們通常認(rèn)為,冒號在批處理中的主要作用就是標(biāo)記標(biāo)簽,并兼做標(biāo)記注釋(標(biāo)簽文本化功能)。但在特定情況下,比如變量延遲情況下,冒號會產(chǎn)生一些特殊的作用。大家看下下面的例子,重點看“!第一個!、:第二個:、%第二個變種:”這三句,這三句都沒有在批處理運行時將結(jié)果顯示到窗口。其中,“!第一個!”是一個合法的變量名,因為前面沒有“set第一個=XX“,所以,這個變量名就是空的,當(dāng)然不顯示了。第二個可能你還說得通,把它當(dāng)做一個特殊的標(biāo)簽,這種標(biāo)簽是存在的,我在其他帖子里有介紹。最關(guān)鍵的還是第三個“%第二個變種:”,它既不是變量名,也不是標(biāo)簽名,但它就是不見了,這是為什么呢?
這是nclick="copycode($('code0'));">復(fù)制代碼
- @echo off&setlocal enabledelayedexpansion&title 冒號之問!~
- echo;
- echo;
- echo;1、如果你在這里看見證明你的神性比往日已經(jīng)有了許多的進(jìn)步……
- echo;2、但我要做一件事,讓你知道你的智慧仍然無法與諸神相媲美……
- echo;3、!如果你已經(jīng)看見我給你傳達(dá)的智慧,那么我將讓你大開眼界:&pause
- echo;
- echo;4、現(xiàn)在,我想問你,你看見第三句了嗎?
- echo;5、是的,你沒有仔細(xì)看,那么,我們來兩個故事吧……&pause
- echo;
- set str=!我潛心向神學(xué)習(xí)智慧之道!
- echo;1)!str!【%str%】為什么值為空呢?因這個變量“^!我潛心向神學(xué)習(xí)智慧之道^!”沒有SET。
- echo;&pause
- echo;
- set var=!神啊救救我吧:
- echo;2)%var%【!var!】:var:【!var:】這里又是為什么變空了呢?&pause
- echo;
- echo;6、我們繼續(xù)舉一反三,請看代碼和運行效果,不解釋……&pause
- echo;
- echo;
- !這樣你能看見我嗎?:
- !第一個!
- :第二個:
- %第二個變種:
- echo;
- echo;7、以下可能無法成功執(zhí)行!~&pause
- echo;
- 第三個!
- 第四個:
- !第五個
- :第六個
- echo;
- pause

