2016-04-21 14 views
5

Tôi chỉ đơn giản là làm việc trên một mật khẩu cho tập tin thực thi của tôi, nhưng, nếu tuyên bố của tôi không hoạt động. khi tôi yêu cầu nó kiểm tra xem mật khẩu của tôi có chính xác hay không, nó đi đến câu lệnh khác, ngay cả khi tôi nhập đúng mật khẩu (hi). đây là một phần của mã của tôi có vấn đề:nếu tuyên bố không hoạt động hàng loạt (chuyển trực tiếp đến người khác)

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

và đây là toàn bộ mã:

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 

bất cứ ai có thể vui lòng giúp đỡ.

+2

Bạn đang đặt nó thành R ví dụ: 'R'. Bằng cách gõ 'Set' bạn có thể thấy điều này. –

Trả lời

1

Đây là vấn đề với không gian trong biến của bạn.

Hãy thử điều này từ một dòng lệnh:

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

>echo %R% 
%R% 

>echo %R % 
blah 

Thay đổi dòng của bạn để:

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

Và rằng nên sửa chữa.

Các vấn đề liên quan