批量If / Else简单

时间:2015-06-16 00:22:28

标签: batch-file

echo Changez les phrases ave l'inversion.
pause
echo Use proper capitalization, and a period at the end.
pause
echo L'etudiant a besoin d'aide.
set /p FrenchInv=Write the inversion: 
if %FrenchInv%==A-t-il besoin d'aide? goto FDPA
else echo A-t-il besoin d'aide? Is the correct answer.
pause

如果我输错了答案,我会收到错误,虽然我认为else echo会返回“A-t-il besoin d'aide?是正确的答案。”而不是语法错误。 是否可以放入带有cedilla的c - 这件事:ç? 当我试图回应français时,我得到了一些奇怪的符号。 我是英国学生。

如果你不懂法语,那没关系。我亲自吮吸它。

1 个答案:

答案 0 :(得分:1)

if "%FrenchInv%"=="A-t-il besoin d'aide?" (goto FDPA) else (
 echo A-t-il besoin d'aide? Is the correct answer.
)
pause

if "%FrenchInv%"=="A-t-il besoin d'aide?" goto FDPA
echo A-t-il besoin d'aide? Is the correct answer.
pause

请注意,您需要"quote strings containing separators line spaces in an if"并且每个字符串都需要引号(==运算符的两侧)

else不是必需的(如第二个示例中所示),因为如果比较证明false,则goto将不会被执行,程序将进入下一行。

要求cmd正确解析命令并将else视为关键字,必须使用括号。 ) else (序列必须全部在同一物理行上,所以

if "%FrenchInv%"=="A-t-il besoin d'aide?" (goto FDPA
 ) else (
  echo A-t-il besoin d'aide? Is the correct answer.
)
pause

if "%FrenchInv%"=="A-t-il besoin d'aide?" (
  goto FDPA
 ) else (
  echo A-t-il besoin d'aide? Is the correct answer.
)
pause

也有效。

另请注意,if /i允许比较不区分大小写。