-1
@echo off
set Hint=3
echo Hints=%Hint%
pause >nul
set /p Talk=">"
if %Talk%"=="Hint?" &if %Hint%"=="3" echo yay!
pause >nul
cls

我如何让它说“耶!” 使用两个 if 语句(如果可以的话)并且仅当 %Hint%=3? 我是批处理新手,只是初学者。

4

4 回答 4

3

删除&符号& 并添加双引号:

if "%Talk%"=="Hint?" if "%Hint%"=="3" echo yay!
于 2013-07-09T10:40:22.000 回答
1

只需从代码中删除 & 符号。

于 2013-07-09T10:26:07.063 回答
1
if "%Talk%"=="Hint?" (
   if "%Hint%"=="3" (
       echo yay!
   )
)

你也错过了"一些

于 2013-07-09T10:27:14.477 回答
1

批处理/CMD 中没有二元逻辑运算符。不过,您可以将它们链接在一起,就像在 C 中一样。

if "%Talk%"=="Hint?" if "%Hint%"=="3" echo yay!

如果您需要更复杂的逻辑,您可以使用按位 AND ( &) 和 OR ( |) 运算符SET /A来构建更复杂的表达式并将其简化为单个“布尔”整数。

于 2013-07-09T10:32:10.177 回答