2013-03-08 145 views
1

我試過這個,但是它一直返回一個錯誤,說the syntax of the command is incorrect。這裏是我試過的代碼:命令提示輸入用戶名和密碼

@echo off 
echo Enter Username and Password to view files 

set /p user=Enter UserId: 
set /p pass=Enter Password: 

if /i %user%==admin (if /i %pass%==*my password was here*) 

(goto admin1) 

:admin1 
..etc.. 

回答

0

你的代碼的問題是你使用括號。這是相同代碼的重做版本。

@echo off 
echo Enter Username and Password to view files 

set /p user=Enter UserID: 
set /p pass=Enter Password: 

if /i %user%==admin (
    if /i %pass%==password goto admin1 
) 

:admin1 
::More here... 

另外,這段代碼有一個錯誤(和你的,如果它工作的)。無論您輸入什麼用戶或密碼,它總是會輸入:admin1。這是因爲批處理文件是從上到下讀取的,所以它會跳過if區塊中的代碼並轉到:admin1區塊。

您可以通過將代碼置於將重定向用戶的代碼之間來解決此問題。

此外,我建議你看看formatting help正確格式化你的問題(把代碼塊,鏈接等)。

+0

注意,它也將很好的工作,而不括號(如:'IF /%用戶%==管理員IF /%傳遞%==密碼轉到admin1',儘管它會使你的腳本凌亂和難以閱讀 – 2013-03-08 05:41:01

+0

謝謝,我知道如何讀取代碼我沒有把整個事情放在這裏,但我確實有一個「萬一你錯了」部分生病試試這個,哦,我從來沒有使用過這個網站之前,我 – 2013-03-09 15:42:22

+0

我認爲括號給出了一些分離和不管他們是否需要他們整齊,我喜歡能夠回去閱讀我寫的代碼和合金別人能夠做到這一點,但謝謝教授泡菜!:) – 2013-09-24 22:37:22

0

您的括號已關閉。

@echo off 
echo Enter Username and Password to view files 

set /p user=Enter UserId: 
set /p pass=Enter Password: 

if /i "%user%"=="admin" (if /i "%pass%"=="password" goto admin1) 

goto skip 

:admin1 
echo Done 
goto END 

:skip 

:END 
+0

哦,那不是我的代碼的整體有一個跳過類別,如果你輸入了錯誤的東西,它也會向你發送「你輸入了錯誤的信息」,然後退出我的部分代碼。但在我輸入用戶和密碼後,它說synta錯誤,它不會繼續 – 2013-03-09 15:44:32

相關問題