我试过这个,但它一直都会返回错误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 :(得分: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
块。
您可以通过将代码置于将重定向用户的代码之间来解决此问题。
此外,我建议您查看formatting help以正确格式化您的问题(将代码放入代码块,链接等)。
答案 1 :(得分: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