替换变量中的尖括号

时间:2015-01-23 23:51:28

标签: windows batch-file

我有一个纯文本文件,每行有一个网址,附带< link>< / link>标签。回送变量(包括标签)工作正常,但现在我想删除标签。 escaping带有一个或多个^的尖括号不起作用。 这是代码

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

还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

使用时需要delayed expansion和引号&gt;或&lt;:

@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