Board logo

标题: [求助] 批处理如何替换变量中的"=" [已解决] [打印本页]

作者: chenall     时间: 2007-4-8 12:44    标题: [求助] 批处理如何替换变量中的"=" [已解决]
set "aa=bbbbbb=ccdeee==eewewrwer"
如何将aa变量中的"="替换为其它字符,比如替换为中文的"等号"

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

Last edited by chenall on 2007-4-9 at 12:29 AM ]

作者: lxmxn     时间: 2007-4-8 13:57

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


作者: dikex     时间: 2007-4-8 13:58
@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 ]

作者: chenall     时间: 2007-4-9 00:23
谢谢楼上两位.

作者: vkill     时间: 2007-4-9 07:49
这样效率很低哦

作者: lxmxn     时间: 2007-4-9 11:03
Originally posted by vkill at 2007-4-8 18:49:
这样效率很低哦


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