bat SET中替换字符串(用变量代表需替换的字符串)
@ECHOOFFSET"VAR=ab,dc,cc,ef,gg,AQ,gg"SET"VAR=%VAR:,=%"ECHO%VAR%SET"MAT=gg"ECHO%MAT%SE...
@ECHO OFF SET "VAR=ab,dc,cc,ef,gg,AQ,gg" SET "VAR=%VAR:,= %" ECHO %VAR% SET "MAT=gg" ECHO %MAT% SET "VAR=%VAR:%%MAT%= %" REM 执行到这一句是有问题的
一般情况下 直接 SET "VAR=%VAR:gg= %" 这样就可以了
但是 我想要用MAT来代表gg的话 ,又该怎么写SET?
求解答 谢谢
最后一句是有问题的 不想%VAR:gg= % 要用变量的形式,怎么解决 展开
一般情况下 直接 SET "VAR=%VAR:gg= %" 这样就可以了
但是 我想要用MAT来代表gg的话 ,又该怎么写SET?
求解答 谢谢
最后一句是有问题的 不想%VAR:gg= % 要用变量的形式,怎么解决 展开
2个回答
展开全部
@ECHO OFF
SET "VAR=ab,dc,cc,ef,gg,AQ,gg"
SET "VAR=%VAR:,= %"
ECHO %VAR%
SET "MAT=gg"
ECHO %MAT%
call SET "VAR=%%VAR:%MAT%= %%"
ECHO %VAR%
call命令会对其参数进行扩展,然后再执行,gg会替换成一个空格
也可以启用变量延迟来实现@echo off&setlocal enabledelayedexpansion.........set "var=!var:%mat%=!
展开全部
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET VAR=ab,dc,cc,ef,gg,AQ,gg
SET VAR=%VAR:,= %
ECHO %VAR%
SET MAT=gg
ECHO %MAT%
SET VAR=!VAR:%MAT%= !
ECHO %VAR%
pause
启用批处理中的延迟变量扩展就可以轻松处理了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询