批量选择错误的答案

时间:2014-07-12 15:05:51

标签: batch-file choice

我想用批处理创建一个选择程序,用户会被问到这样的事情:

@echo off

:choice
set /P c=What is 2+2
if /I "%c%" EQU "4" goto :yes
if /I "%c%" EQU "WHAT DO I TYPE IN HERE?" goto :no



:yes
msg * well done
pause
exit
:no
exit

因此,当您给出错误答案时,您将被重定向到:no

3 个答案:

答案 0 :(得分:0)

@echo off
:choice
set /P c=What is 2+2
if /I "%c%" EQU "4" (goto :yes) else (goto :no)

:yes
msg * well done
pause
exit
:no
exit

答案 1 :(得分:0)

虽然foxidrive的答案对于您给出的示例是最佳的,但如果您要求compare-op不等于,则为:

if "%c%" NEQ "4" Echo Wrong...

另一个比较操作包括:

where compare-op may be one of:

    EQU - equal
    NEQ - not equal
    LSS - less than
    LEQ - less than or equal
    GTR - greater than
    GEQ - greater than or equal

引自if /?

您也可以使用:

if NOT "%c%"=="4" Echo Wrong...

在没有比较操作的情况下执行此操作

答案 2 :(得分:0)

好的,我看到我提出了错误的问题,我真正想做的是创建一个批量激活系统。 因此,当我插入正确的代码时,它应该提取和密码保护.rar或sfx(.exe)文件。 这就是我需要它的原因,这就是我目前所拥有的:

 @echo off

:choice
set /P c=Insert Key
if /I "%c%" EQU "123" goto :yes 
if /I "%c%" EQU "321" goto :yes 
if /I "%c%" EQU "132" goto :yes 


:yes
msg * well done
unrar x -p"password" "filename.rar"
pause
exit
:no

exit

但它似乎不起作用......