替换变量中的尖括号

Replacing angle brackets in variables

我有一个纯文本文件,每行一个 url,包含在 标签中。 ECHO-ing 变量(包括标签)工作正常但现在我想删除标签。 escaping 带一个或多个 ^ 的尖括号不起作用。 这是代码

FOR /F "tokens=* USEBACKQ" %%F IN (`findstr "<link>" test.txt`) DO (
SET what=%%F
SET result=%what:<link>=%
ECHO %result%
)

还有其他方法吗?

使用 > 或 <:

时需要 delayed expansion 和引号
@echo off
setlocal enableDelayedExpansion
FOR /F "tokens=* USEBACKQ" %%F IN (`findstr "<link>" test.txt`) DO (
    SET "what=%%F"
    SET "result=!what:<link>=!"
    ECHO !result!
)
endlocal