DOS下处理含特殊字符[如:]的字符串
這兩天閑著蛋疼[等面試通知中...],突然想寫(xiě)一個(gè)認(rèn)證學(xué)校億郵網(wǎng)關(guān)的腳本,這樣就不用每次輸入長(zhǎng)長(zhǎng)的用戶(hù)名和密碼了。寫(xiě)的時(shí)候遇到了一些個(gè)大大小小的問(wèn)題[DOS腳本是這兩天現(xiàn)學(xué)的,菜鳥(niǎo)中的菜鳥(niǎo)...],比如在處理含有特殊字符的的字符串時(shí),搞死我了。因?yàn)樵谀M網(wǎng)頁(yè)提交信息的時(shí)候,有個(gè)字符‘&’,它本身在DOS中有著特殊的功能,所以DOS在遇到這個(gè)符號(hào)時(shí),先把它當(dāng)自己人給用了,也TM不考慮考慮我的感受。
問(wèn)題大致簡(jiǎn)化成這樣,我本是這么寫(xiě)的:
?
set var=12&345 echo %var%?
這樣寫(xiě)肯定不行啦,Pass掉了,后來(lái)聽(tīng)說(shuō)用轉(zhuǎn)義符號(hào)'^',set var=12^&345,還是不行,
不過(guò)直接echo的話可以[Echo 12^&345]
但不是我想要的答案。然后又有人說(shuō)用引號(hào),好的
OK,貌似可以,But這樣字符串就變成了““12&345””,可是我不要引號(hào)啊,[其實(shí)這樣處理我的認(rèn)證腳本就可以完成了,但帶著我不想要的引號(hào),心里不爽,就此打住?不是我的Style]。
繼續(xù)搞這個(gè)問(wèn)題,參考了貼子【點(diǎn)擊打開(kāi)鏈接】用到了開(kāi)啟延遲變量這個(gè)東西,搞定了[要在腳本中完成,直接在DOS界面實(shí)驗(yàn)的話不行]
setlocal enabledelayedexpansion set var=12^&345 echo !var! endlocal舒口氣,This exactly is what I want!
====================================【分割線】==========================================
set str=123^^^&456 echo %str%這也是一種解決辦法,^^^&這是個(gè)什么說(shuō)法?待搞明白中……
轉(zhuǎn)載于:https://www.cnblogs.com/XBin/archive/2012/12/16/2853625.html
總結(jié)
以上是生活随笔為你收集整理的DOS下处理含特殊字符[如:]的字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle OS Block Head
- 下一篇: Linux下利用rsync实现网站镜像同