我试图批量创建一个脚本,用户将输入他们的名字,然后再输入。但是,我希望用户能够输入,"我的名字是[姓名]"并考虑到这一点"正确"同样。
目前我的代码在它之前有用户输入时没有识别%name%变量,而是转到:不正确的标签。
代码:
@ CLS
@ set /P name="Type your name: "
@ set /P userinput="Type your name again: "
@ if /I "userinput"=="%name%" goto correct
@ if /I "userinput"=="my name is %name%" goto correct
@ goto :incorrect
@ :correct
@ CLS & echo Correct! & pause
@ :incorrect
@ CLS & echo Incorrect! & pause
然而,我不会介意它考虑它"纠正"只要用户在其输入中键入其名称 somewhere ,因此我认为需要以某种方式解析?输入以查找变量%name%是否存在于其中。
答案 0 :(得分:0)
在if语句中测试时,你没有在{%}包装userinput
,因此程序将其解释为纯文本而不是变量。尝试:
@ CLS
@ set /P name="Type your name: "
@ set /P userinput="Type your name again: "
@ if /I "%userinput%"=="%name%" goto correct
@ if /I "%userinput%"=="my name is %name%" goto correct
@ goto :incorrect
@ :correct
@ CLS & echo Correct! & pause
@ :incorrect
@ CLS & echo Incorrect! & pause