中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 04:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何把字符串替换成百分号? 查看 715 回复 5
楼 主 [求助]如何把字符串替换成百分号? 发表于 2008-01-04 10:37 ·  中国 上海 电信数据中心
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
@echo off
set var=test\new
echo %var:\=%%

我想要的结果是
test%new
2 发表于 2008-01-04 10:45 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@echo off&Setlocal EnableDelayedExpansion
set var=test\new
echo !var:\=%%!
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
sinbao +1 2008-01-04 11:41
3 发表于 2008-01-04 11:41 ·  中国 上海 电信数据中心
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
Works!
如果不用EnableDelayedExpansion就做不到了吗?
比如用%var:\=^%%或者%var:\=%%%都不行...
但是除了百分号,别的是可以替换的,比如%var:\=*%
4 发表于 2008-01-04 13:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
目前我知道的方法就是SetLocal。
5 发表于 2008-01-07 17:35 ·  中国 湖南 岳阳 电信
中级用户
★★
积分 396
发帖 183
注册 2007-12-23 06:24
18年会员
UID 106531
性别 男
状态 离线
@echo off
set var=test%%new
echo %var%
pause
这样也可以呀
6 发表于 2008-01-08 09:57 ·  中国 上海 电信数据中心
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
楼上,我要的是替换
论坛跳转: