在Windows批处理中比较一个带有双引号的字符

4
我希望在 Windows 批处理文件中将单个字符与双引号 " 进行比较。
@echo off
setlocal EnableDelayedExpansion
set var=before
for /f %%a in (zen.csv) do (
    set var=%%a
    echo !var:~-1!
    IF "!var:~-1!"=="""" (
        @echo found
    )
)
pause

结果如下:
0
1
"
"
"
0
1
2

如您所见,该批处理未输出“found”。如何将字符与双引号进行比较?


你试过用"吗? - pianka
1个回答

3
@echo off
setlocal EnableDelayedExpansion
set var=before
for /f %%a in (zen.csv) do (
    set var=%%a
    echo !var:~-1!
    IF !var:~-1!==^" (
        @echo found
    )
)
pause

使用插入符号^转义双引号,变为^"。在比较时省略外部的双引号。插入符号可以转义许多字符,但需要双倍转义%,变为%%


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接