我不知道为什么我的批次if和goto不起作用

时间:2013-01-26 19:40:20

标签: if-statement batch-file goto

我不知道为什么我的批次if和goto不起作用 它一直有效,直到用户必须选择运行。整件事情就是关闭了 这是我的剧本:

@Echo off
:Password  
set input=
set b=
set c=
set /p input=Password:
if %input%==******** goto yes
if not %input%==******** goto no
cls
:yes
cls
echo Access Accepted! Welcome Tucker!
echo.
set /p op=Enter Your Full-Name For Access:
if %op%== TuckerGarySiegel goto home
cls
:no
echo Wrong Password. Access Denied. No Entry.
goto password
cls
:home
color 1f

这就是我认为的问题区域

Echo Welcome Tucker!
echo 1) My Batch Files
echo 2) Google Chrome
set /p input=Type Your Selection: 
if %c%== 1 goto batch

if not %c%== 1 goto home


pause
cls
:batch
echo Choose File:
echo 1) Password Script

set /p b=Make Selection: 
if %b%== 1 goto passscript
pause
cls
:passscript

我还需要休息

请帮助

1 个答案:

答案 0 :(得分:4)

set /p input=Type Your Selection: 
if %c%== 1 goto batch
if not %c%== 1 goto home

您正在设置变量input,但随后检查变量c。试试这个,这将使它工作:

set /p input=Type Your Selection: 
if %input%== 1 goto batch
if not %input%== 1 goto home

P.S。您无需检查ifif not。这样做会很好:

set /p input=Type Your Selection: 
if %input%== 1 goto batch
goto home