Board logo

标题: [特效代码] 批处理不能输出变量值中的%百分号如何处理? [打印本页]

作者: a1011082042    时间: 2009-10-24 12:21     标题: 批处理不能输出变量值中的%百分号如何处理?

本帖最后由 pcl_test 于 2016-7-11 11:13 编辑

大家好,下面的关于163邮箱登录的一个例子(某高手所作),代码如下:
  1. @echo off
  2. set u=testrat
  3. set p=aaa111
  4. start "" "http://reg.163.com/login.jsp?type=1&url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1&username=%u%&password=%p%"
复制代码
但是我更换成我的用户名和密码却提示密码错误,因为我的密码中含有百分号,用不含%的密码却可以登录,查看了一些资料,说要用到转义字符,但是我用两个%试过了,还是不行,这该如何解决呢?
请不吝指教,谢谢!
作者: a1011082042    时间: 2009-10-24 12:34

这里是密码含有%的一个邮箱测试,却不行:
  1. @echo off
  2. title 163邮箱登陆器
  3. color a
  4. SET id=atesta
  5. set pwd=123456%
  6. start "开始登录你的邮箱" "https://reg.163.com/logins.jsp?username=%id%&password=%pwd%&url=http://fm163.163.com/coremail/fcg/ntesdoor2"
复制代码
这是为什么呢?
作者: keen    时间: 2009-10-24 15:48

你试一下,把set pwd=123456%,改成set pwd=123456%%。
作者: a1011082042    时间: 2009-10-24 17:21

我已经试过了,还是不行的……
作者: canyuexiaolang    时间: 2009-10-25 13:12

要该成%%%吧....我没试
作者: sgaizxt001    时间: 2010-4-30 23:40

5楼的建议应该可以。用3个%%%就可以得到1个%
@echo off
set pwd=123456%%%
echo %pwd%
pause
测试么得问题
作者: Spring    时间: 2010-5-1 00:12

set pwd=123456%%25
作者: a1011082042    时间: 2010-6-29 13:22     标题: 回复 8楼 的帖子

太强了,佩服之至!!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2