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..
4

2 回答 2

1

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

@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块中。

您可以通过在将重定向用户的代码之间放置代码来解决此问题。

另外,我建议您查看格式化帮助以正确格式化您的问题(将代码放入代码块、链接等)。

于 2013-03-08T05:39:35.167 回答
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
于 2013-03-08T05:43:07.480 回答