0

我在将用户输入的多字字符串与批处理中的字符串变量进行比较时遇到了一些麻烦。这就是我所拥有的:

    set twowordstring=Pi Rocks
    echo What do you think about Pi?    
    set /p response=
    if %response% EQU %twowordstring% goto correct

运行时 cmd 刚刚关闭,但我瞥见了错误消息。我认为 set /p 只收集两个词输入的第二个词。请帮忙,我设置输入错误还是有不同的命令来收集整行?谢谢

4

1 回答 1

2

您的IF陈述导致了问题。

语法是if string equ string dosomething

由于您的响应和要进行比较的字符串中都有空格,因此处理器会看到

if Pi Rocks equ Pi Rocks goto correct

equ并期望在第一个字符串之后有一个比较运算符,因此对象Rocks并响应Rocks was unexpected at this time

要更正,只需将参数括在引号中

if "%response%" equ "%twowordsstring%" goto correct

您也可以更改ifif /i使比较不区分大小写。

此外,放置一个

pause

在一个战略点将阻止窗口关闭。

于 2013-04-04T00:43:02.180 回答