中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-02 08:24
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,279 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教,命令行中如何过滤百分号
可打印版本  1,295 / 4
第1楼 kuixuan 发表于 2010-07-01 15:49
新手上路 发帖 2 积分 2
请教,命令行中如何过滤百分号
@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楼 Lin7uan 发表于 2010-07-02 01:00
初级用户 发帖 32 积分 38
我也是个新手,能不能具体解释一下
set "xx=%xx:"=%"
这句话?
第3楼 HAT 发表于 2010-07-02 13:09
版主 发帖 5,017 积分 9,023
Re 2 楼
set命令的字符串替换功能
第4楼 pdanniel66 发表于 2010-07-03 05:19
初级用户 发帖 64 积分 68
Re 2 楼
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楼 kuixuan 发表于 2010-07-03 23:46
新手上路 发帖 2 积分 2
好像变成教程帖了,但是就没人会么
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023