批处理脚本替换字符串中的变量字符串 [英] batch script replace variable string within string

查看:757
本文介绍了批处理脚本替换字符串中的变量字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何删除 //从fullPath字符串中删除绝对路径字符串

How can I remove // remove absolute path string from fullPath string

set abs_p=C:\abspath\
set rel_p=C:\abspath\foo\boo\bar

如何从rel_p中删除abs_p? 我的语法无法正常工作

How can I remove the abs_p from the rel_p? I'm not getting the syntax working

set rel_p=%rel_p:abs_p=%

推荐答案

此脚本生成的

foo \ boo \ bar

foo\boo\bar

set abs_p=C:\abspath\
set rel_p=C:\abspath\foo\boo\bar

set newp=
set rec_a=
set rec_r=

call :strip  %rel_p%\ %abs_p%
goto :END

:strip
set rec_a_part=
set rec_a=
set rec_r_part=
set rec_r=

for /F "tokens=1,* delims=\" %%t  in ("%2") do (
    set rec_a_part=%%t
    set rec_a=%%u
 )
for /F "tokens=1,* delims=\" %%t  in ("%1") do ( 
  set rec_r_part=%%t
  set rec_r=%%u
)
if not !%newp%!==!! set newp=%newp%\
if not !%rec_a_part%!==!%rec_r_part%! set newp=%newp%%rec_r_part%
if not !%rec_r%!==!! call :strip  %rec_r% %rec_a%
goto :EOF

:END
echo %newp%

这篇关于批处理脚本替换字符串中的变量字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆