我有一个.bat文件,需要将变量与另一个变量子串。 子串将位于循环内。我在这个循环中有两个变量。
echo %%i
echo %targetPath%
%%我是完整的字符串。如果找到匹配字符串%targetPath%
,我必须删除部分%% i我的编码不起作用。
echo %%i%:%targetPath%=%
我无法使用它,因为我对%% name和%name%感到困惑。这是我的预期结果。在php中,我们有一个子串函数,它能够将fullstring传递给substring函数和一个匹配的关键字。这就是我想要实现的目标
fullstr=abcdefghijk
keyword=abcd
result=efghijk
当前工作代码
setlocal EnableDelayedExpansion
set "targetPath=%~dp0in"
for /r "%targetPath%" %%i in (.) do (
set "str=%%i"
echo !str:%targetPath%=!
)
当前输出
echo !str:C:\Users\vuser01\Desktop\Texture Packer\libgdxtools\in=!
答案 0 :(得分:2)
您可以使用delayed expansion:
setlocal enableDelayedExpansion
set "target=some"
for %%i in ("something") do (
set "var=%%i"
echo !var:%target%!
)