命令提示输入用户名和密码

问题描述:

我试过这个,但是它一直返回一个错误,说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.. 

你的代码的问题是你使用括号。这是相同代码的重做版本。

@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

您的括号已关闭。

@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