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


  Quote:
Originally posted by vkill at 2007-4-8 18:49:
这样效率很低哦


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