0

我正在尝试让用户登录,并在他们登录时设置他们的权力或等级。排名是管理员用户和访客。我需要为程序中的每个命令执行下面的代码。它返回 ) 在这个时候是没有预料到的。知道为什么吗?对于此命令,所有用户都应该能够访问它,但稍后我需要为每个组设置某些内容。

if %inputCommand%==/help (
  if %power%==Admin (
goto helpInfo
  ) else (
    if %power%==User (
  goto helpInfo
) else (
  if %power%==Guest (

      ) else (
        goto powerReadFailed
      )
    )
  )
) else (
goto readInputCommandTwo
    )
4

2 回答 2

1

尝试这个:

if "%inputCommand%"=="/help" (
  if "%power%"=="Admin" (
goto helpInfo
  ) else (
    if "%power%"=="User" (
  goto helpInfo
) else (
  if "%power%"=="Guest" (
        rem
      ) else (
        goto powerReadFailed
      )
    )
  )
) else (
goto readInputCommandTwo
    )
于 2013-04-13T19:29:27.730 回答
0

为什么这么复杂?

怎么样

for %%a in (admin user guest) do if /i "%power"=="%%a" (
 for %%b in (help somethingelse whatever) do if /i "%inputcommand"=="%%b" (
 goto %%a%%b
 )
 goto %%ainvalidcommand
)
:powerreadfailed

然后你可以设置标签

adminhelp userhelp guesthelp
adminsomethingelse usersomethingelse guetsomethingelse
...

写是完全合法的

:adminhelp
:userhelp
echo admin and user get the same help

并且添加一个新的用户类或命令并不难......

( IF/i表示进行不区分大小写的比较)

于 2013-04-14T01:44:23.820 回答