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%

这也是一种解决办法,^^^&这是个什么说法?待搞明白中……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值