@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的情况下才能使用? 我是新来的批次,只是一个初学者。使用两个if语句
@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的情况下才能使用? 我是新来的批次,只是一个初学者。使用两个if语句
删除符号&
并添加双引号:
if "%Talk%"=="Hint?" if "%Hint%"=="3" echo yay!
只需从代码中删除&符号即可。
if "%Talk%"=="Hint?" (
if "%Hint%"=="3" (
echo yay!
)
)
你还缺少一些"
的
有在批处理/ CMD没有二进制逻辑运算符。尽管如此,你可以将它们链接在一起,就像你在C中一样。
if "%Talk%"=="Hint?" if "%Hint%"=="3" echo yay!
如果您需要更复杂的逻辑,你可以使用按位AND(&
)和OR(|
)运营商SET /A
建立更复杂的表达,其降低到一个单一的“布尔”整数。
快速搜索= http://stackoverflow.com/questions/6711615/using-multiple-if-statements-in-a-batch-file – Nick
帮忙,谢谢Nick! –