中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 07:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教,命令行中如何过滤百分号 查看 1,166 回复 4
楼 主 请教,命令行中如何过滤百分号 发表于 2010-07-01 15:49 ·  中国 广东 韶关 电信
新手上路
积分 2
发帖 2
注册 2010-03-20 23:09
16年会员
UID 162663
性别 男
状态 离线
@echo off
set abc=123
set /p xx=enter:
set "xx=%xx:"=%"
echo %xx%
pause

【set "xx=%xx:"=%"】代码的意思是将【引号】过滤掉
若在处输入:%abc%
代码的执行结果是显示了——

但现在我需要将【百分号】给过滤掉

即代码的执行结果变为在屏幕上显示,也就是说,先前输入的%abc%这一行中的百分号是被删除了

于是我这样修改了代码——set "xx=%xx:%=%"

可是却出错了,那么应该如何实现过滤掉【百分号】呢

希望大家能够帮我,谢谢

[ Last edited by kuixuan on 2010-7-1 at 15:58 ]
2 发表于 2010-07-02 01:00 ·  中国 广东 深圳 电信
初级用户
积分 38
发帖 32
注册 2010-04-07 22:43
16年会员
UID 164009
性别 男
状态 离线
我也是个新手,能不能具体解释一下
set "xx=%xx:"=%"
这句话?
3 Re 2 楼 发表于 2010-07-02 13:09 ·  新加坡
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
set命令的字符串替换功能
4 Re 2 楼 发表于 2010-07-03 05:19 ·  中国 台湾 台湾宽频通讯顾问股份有限公司
初级用户
★★
积分 68
发帖 64
注册 2009-05-23 20:43
17年会员
UID 145803
性别 男
状态 离线
Test1 :
@echo off
set abc=123
set /p xx=enter:
set "xx=%xx:"=%"
echo %xx%
pause
执行结果如下:
enter:"aa
aa
请按任意键继续 . . .
Test2 :
@echo off
set abc=123
set /p xx=enter:
set "xx=%xx:(=%"
echo %xx%
pause

执行结果如下:
enter: (aa
aa
请按任意键继续 . . .
5 发表于 2010-07-03 23:46 ·  中国 广东 韶关 电信
新手上路
积分 2
发帖 2
注册 2010-03-20 23:09
16年会员
UID 162663
性别 男
状态 离线
好像变成教程帖了,但是就没人会么
论坛跳转: