这两天闲着蛋疼[等面试通知中…],突然想写一个认证学校亿邮网关的脚本,这样就不用每次输入长长的用户名和密码了。写的时候遇到了一些个大大小小的问题[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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110255.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...