中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 18:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] 批处理如何替换变量中的"=" [已解决]
楼 主 [求助] 批处理如何替换变量中的"=" [已解决] 发表于 2007-04-08 12:44 ·  中国 福建 泉州 石狮市 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
UID 586
性别 男
来自 福建泉州
状态 离线
set "aa=bbbbbb=ccdeee==eewewrwer"
如何将aa变量中的"="替换为其它字符,比如替换为中文的"等号"

注:不想使用第三方工具.

[ Last edited by chenall on 2007-4-9 at 12:29 AM ]
QQ:366840202
http://chenall.net
2 发表于 2007-04-08 13:57 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

set 不能替换“=”号,就换一种方式,得到结果就行。

@echo off&Setlocal enabledelayedexpansion
set "aa=bbbbbb=ccdeee==eewewrwer"
echo %aa%
:started
if not "%aa:~0,1%"=="" (
if "%aa:~0,1%"=="=" (set/p=#<nul) else (set/p=%aa:~0,1%<nul)
set "aa=%aa:~1%"
if "!aa!"=="" (echo/&goto :end)
goto :started
)
:end
pause&exit/b

本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
chenall +4 2007-04-09 00:23
3 发表于 2007-04-08 13:58 ·  中国 广东 广州 天河区 电信
高级用户
★★★
潜水修练批处理
积分 788
发帖 366
注册 2006-12-31 02:43
UID 75048
性别 男
状态 离线
@echo off
setlocal ENABLEDELAYEDEXPANSION
set "aa=bbbbbb=ccdeee==eewewrwer"
for /l %%i in (0,1,100) do (
set a=!aa:~%%i,1!
if "!a!"=="=" set a=等号
set aaa=!aaa!!a!
)
echo %aaa%
pause



p.s.原来发贴慢了

[ Last edited by dikex on 2007-4-8 at 02:01 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
chenall +4 2007-04-09 00:23
4 发表于 2007-04-09 00:23 ·  中国 福建 泉州 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
UID 586
性别 男
来自 福建泉州
状态 离线
谢谢楼上两位.
QQ:366840202
http://chenall.net
5 发表于 2007-04-09 07:49 ·  中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
这样效率很低哦
6 发表于 2007-04-09 11:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
Originally posted by vkill at 2007-4-8 18:49:
这样效率很低哦


兄觉得用什么方法效率比较高呢?如果可以写出来,就把代码发出来吧。
论坛跳转: