我正在尝试让用户登录,当他们这样做时,设置他们的权力或等级。排名是管理员用户和访客。我需要为程序中的每个命令执行以下代码。它返回)此时并未预料到。知道为什么吗?对于此命令,所有用户都应该能够访问它,但稍后我将需要为每个组设置某些内容。
if %inputCommand%==/help (
if %power%==Admin (
goto helpInfo
) else (
if %power%==User (
goto helpInfo
) else (
if %power%==Guest (
) else (
goto powerReadFailed
)
)
)
) else (
goto readInputCommandTwo
)
答案 0 :(得分: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
)
答案 1 :(得分: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
表示进行不区分大小写的比较)