批量引用平等测试

时间:2011-08-05 11:04:27

标签: batch-file escaping quote

如何测试我的字符串,就好像它是一个引号(“)。 默认的转义字符是'^',不是吗?
所以我尝试了以下但没有成功:

if  "!first_char!" == "^"" (...)

我也试过双引号:

if  "!first_char!" == """" (...)

谢谢!

2 个答案:

答案 0 :(得分:1)

问题不在于比较的正确部分,而在左侧部分。由于first_char包含引号,因此比较的左操作数没有意义。因此,您必须使用^转义包含"

的变量

尝试这样的事情......

if .^!first_char!.==.^". (@echo ^!first_char! YES) else (@echo ^!first_char! NO)

答案 1 :(得分:1)

问题仅在于比较的正确部分 左侧的延迟扩展始终是安全的 所以你可以简单地在右侧使用延迟扩展,比如

set singleQuote="
if  "!first_char!" == "!singleQuote!" (...)

或者可选地,你可以逃避所有引用。

if  "!first_char!" == ^"^"^" (...)