如何在批处理文件中获取带有特殊字符的子字符串?

How to get a substring with special characters in batch file?

我正在尝试删除包含特殊字符的字符串的一部分。

字符串看起来像:<abc>123</abc> 我只想提取 123

我试过了

set substr=<abc>
%my_string:substr=%

并按位置删除字符

set result=%my_string:~5,-6%

但都不起作用。有人可以帮助我吗?

ps。我是新来的。 对不起英语。

延迟扩展和字符串双引号是这里需要的方法。

for循环的使用只是作为定义一行中要删除的所有子串的一种方式。

@echo off

Setlocal enabledelayedexpansion
set "string=<abc>123</abc>"
For %%A in ("<abc>" "</abc>") do Set "string=!string:%%~A=!"
Echo(!string!
pause