中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 14:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » Set 中存在特殊字符的问题 查看 753 回复 4
楼 主 Set 中存在特殊字符的问题 发表于 2007-05-15 13:10 ·  IANA 局域网IP(Private-Use)
中级用户
★★
积分 379
发帖 95
注册 2003-07-17 00:00
23年会员
UID 7038
性别 男
状态 离线
set others=y=2007&m=05&d=11&m=26&rticle=测试
由于程序命令格式原因,不能用""包括参数。我试用^脱字符也不行
2 发表于 2007-05-15 13:22 ·  中国 上海 电信
初级用户
★★
积分 180
发帖 84
注册 2006-09-07 00:33
19年会员
UID 61995
状态 离线
set others=y=2007^^^&m=05^^^&d=11^^^&m=26^^^&rticle=测试
echo %others%>b.txt
3 发表于 2007-05-15 13:36 ·  IANA 局域网IP(Private-Use)
中级用户
★★
积分 379
发帖 95
注册 2003-07-17 00:00
23年会员
UID 7038
性别 男
状态 离线
原来要三个^我用两个^多谢了!
4 发表于 2007-05-15 13:46 ·  IANA 局域网IP(Private-Use)
中级用户
★★
积分 379
发帖 95
注册 2003-07-17 00:00
23年会员
UID 7038
性别 男
状态 离线
不过我发现另一个问题:
set others=y=2007^^^&m=05^^^&d=11^^^&m=26^^^&rticle=测试
echo %others%>b.txt
如果变成
echo "%others%">b.txt就变成原来格式 2007^^^&m=05^^^&d=11...
这样不行,最后格式是这样:
程序 "a=111&b=222&%others%"
5 发表于 2007-05-15 15:55 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
多次提倡过了;用set时最好养成加引号的习惯;

set "others=y=2007&m=05&d=11&m=26&rticle=测试"

echo "%others%";
试试吧;满足你的要求;

如果echo %others%
就相当于 echo others=y=2007&m=05&d=11&m=26&rticle=测试

因为其中的&,所以会出现异常;
此时根据需要可以修改;
set "others=y=2007^&m=05^&d=11^&m=26^&rticle=测试"
echo %others%

因为楼主要求的是 echo "%others%";有双引号;所以
直接
set "others=y=2007&m=05&d=11&m=26&rticle=测试"
就可以了
论坛跳转: