求教批处理写法:替换长字符串中一段长度不确定的短字符

realmaker24 2014-07-02 02:21:21
假如读取文本后获得变量a=D:\project_code\trunk\Tools\test
我需要得到的变量b=svn:\\10.1.3.100\trunk\Tools\test
从"trunk"开始之前的字符串需要替换,替换用的字符串(svn:\\10.1.3.100)固定,被替换的字符串(D:\porject_code)值和长度都不固定,
请问该使用什么方法进行替换?
我尝试了一下用for /f "tokens=1-2 delims=trunk"的方式来截取字符串,但不成功,貌似delims后面不能接字符串?
...全文
610 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhagoodwell 2016-12-21
  • 打赏
  • 举报
回复
会C语言吗?可以看看这个 http://m.blog.csdn.net/article/details?id=53512140
realmaker24 2014-07-22
  • 打赏
  • 举报
回复
LS的对,不过我已经自己重写indexof解决了,还是谢谢了!分给你
ljc007 2014-07-09
  • 打赏
  • 举报
回复
@echo off
set "a=D:\project_code\trunk\Tools\test"
set "b=svn:\\10.1.3.100\trunk\%a:*\trunk\=%"
echo %b%
pause
ljc007 2014-07-09
  • 打赏
  • 举报
回复
@echo off
set a="D:\project_code\trunk\Tools\test"
for /f "tokens=2* delims=\" %%i in (%a%) do (
    set b=svn:\\10.1.3.100\%%j
)
echo %b%
pause
spark_li 2014-07-07
  • 打赏
  • 举报
回复
可能理解错了,你trunk后面的长度是变化的
spark_li 2014-07-07
  • 打赏
  • 举报
回复
其实还有一个思路,你字符串a的长度虽然是变化的,但是后面需要的部分是固定的。。
赵4老师 2014-07-04
  • 打赏
  • 举报
回复
set a=D:\project_code\trunk\Tools\test
echo a=[%a%]
echo %a%>tmp.txt
for /f "tokens=2* delims=\" %%i in (tmp.txt) do set b=svn:\\10.1.3.100\%%j
del tmp.txt
echo b=[%b%]
realmaker24 2014-07-02
  • 打赏
  • 举报
回复
还有,delims能不能设置空格和其他字符一起作为分隔符?

6,873

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧