[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理set进行替换字符时str1里边有=号那该怎么办?

例如:set a=%a:e==1%
e=要替换为1,可是这样不成功,那该怎么办呢?用变量也不行啊。。

[ 本帖最后由 lj84831253 于 2010-5-10 11:43 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

  1. @echo offsetlocal enabledelayedexpansion
  2. set "a=e==0ee==0"
  3. echo.替换前%a%
  4. :a
  5. if not "!a:~%n%,2!"=="" (
  6. set/a k=n+2
  7. if "!a:~%n%,2!"=="e=" for %%a in (!k!) do set "a=!a:~0,%n%!1!a:~%%a!"
  8. set/a n+=1&goto:a
  9. )
  10. echo.替换后%a%&pause
复制代码
也可以参考:http://bbs.bathome.net/thread-6038-1-1.html

[ 本帖最后由 hanyeguxing 于 2010-5-9 17:46 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

原帖由 hanyeguxing 于 2010-5-9 17:39 发表
@echo offsetlocal enabledelayedexpansion
set "a=e==0ee==0"
echo.替换前%a%
:a
if not "!a:~%n%,2!"=="" (
set/a k=n+2
if "!a:~%n%,2!"=="e=" for %%a in (!k!) do set "a=!a:~0,%n%!1!a:~%%a!"
set/a n+ ...
真难受,,,,,谢谢你。。

TOP

师傅,你这个不是替换而是截取字符串啊?
换了种方式
努力学习,努力挣分

TOP

返回列表