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