我只是为我的批处理文件设置密码;但是,我的 if 语句不起作用。当我要求它检查我的密码是否正确时,即使我正确输入了密码(嗨),它也会转到 else 语句。
这是我的代码中有问题的部分:
if "%R%"=="hi" (
goto b
) else (
echo access denied.
goto f
)
这是完整的代码:
echo off
color 0f
pause
:f
set /p R = "Please enter your passcode "
if "%R%"=="hi" (
goto b
) else (
echo access denied.
goto f
)
:a
for /L %%A IN (1,1,234) DO (
color 6e
echo %random%%random%%random%%random%%random%%random%%random%
color 2a
echo %random%%random%%random%%random%%random%%random%%random%%random%
color 1b
echo %random%%random%%random%%random%%random%%random%%random%%random%
color 5d
echo %random%%random%%random%%random%%random%%random%%random%%random%
color 4c
echo %random%%random%%random%%random%%random%%random%%random%%random%
)
GOTO c
:b
echo Welcome Back
pause >nul
echo Your current computer does not contain previous files.
pause >nul
echo Download Backup Files now?
pause >nul
echo Downloading all Files...
goto a
:c
echo access granted. welcome to the CIA Mainframe.
pause >nul
echo Please se-se-select a c-command.
pause >nul
echo Alert! Alert! The main Fire wall has been Breached!
pause >nul
echo Files being deleted now...
pause >nul
:d
color 0c
echo %random%%random%%random%%random%%random%%random%%random%
echo %random%%random%%random%%random%%random%%random%%random%%random%
echo %random%%random%%random%%random%%random%%random%%random%%random%
echo %random%%random%%random%%random%%random%%random%%random%%random%
echo %random%%random%%random%%random%%random%%random%%random%%random%
goto d
任何人都可以帮忙吗?
这是变量中存在空格的问题。
从命令行试试这个:
>set /p R = "Please enter your passcode: "
Please enter your passcode: blah
>echo %R%
%R%
>echo %R %
blah
将您的行更改为:
set /p "R=Please enter your passcode: "
这应该可以解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)