String 批处理中的字符串比较不起作用

String 批处理中的字符串比较不起作用,string,batch-file,compare,String,Batch File,Compare,这让我沮丧太久了。不可能这么难。我一直在看其他人的例子,但仍然无法批量获得两个字符串来匹配。我做错了什么 SET largeString="c:\programs\test" SET compareTo="test" SET smallString=%largeString:~13,4% if %compareTo%==%smallString% echo YES 这就是我想要做的。它永远不会回应是的。我试过了 if "%compareTo%"=="%smallString%" 及 及 我对

这让我沮丧太久了。不可能这么难。我一直在看其他人的例子,但仍然无法批量获得两个字符串来匹配。我做错了什么

SET largeString="c:\programs\test"
SET compareTo="test"
SET smallString=%largeString:~13,4%
if %compareTo%==%smallString% echo YES
这就是我想要做的。它永远不会回应是的。我试过了

if "%compareTo%"=="%smallString%"


我对这个x感到很沮丧。我是不是错过了一个空间?我是否在某处添加了空格

您的引号是
largeString
compareTo
字符串的文字部分,因此您的子字符串编号错误,引号包含在compareTo字符串的比较中


注意:OP更新了答案,并添加了新的数字。

Ah!我懂了。所以我将compareTo改为等于just test(而不是“test”),这样比较就成功了。非常感谢你!
if %compareTo% EQU %smallString%
if "%compareTo%" EQU "%smallString%"