2016-04-21 10 views
5

Po prostu pracuję nad hasłem dla mojego pliku wsadowego, ale moje instrukcje if nie działają. kiedy pytam go, czy moje hasło jest poprawne, przechodzi do instrukcji else, nawet jeśli poprawnie wpisuję hasło (hi). tutaj jest część mojego kodu, którego dotyczy problem:jeśli instrukcja nie działa wsadowo (przechodzi bezpośrednio do innego)

if "%R%"=="hi" (
goto b 
) else (
echo access denied. 
goto f 
) 

i tu jest cały kod:

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 

Może ktoś proszę o pomoc.

+2

Ustawiasz go na R np. 'R'. Po wpisaniu 'Set' mogłeś to zobaczyć. –

Odpowiedz

1

Jest to problem ze spacjami w zmiennej.

Spróbuj tego z wiersza poleceń:

>set /p R = "Please enter your passcode: " 
Please enter your passcode: blah 

>echo %R% 
%R% 

>echo %R % 
blah 

zmienić linię:

set /p "R=Please enter your passcode: " 

I to powinien naprawić.

Powiązane problemy