0

我不擅长编写批处理脚本,但这就是我想要实现的目标。我想从命令提示符执行一些 sql (oracle) 脚本,但脚本不能由一个特定的用户名运行。因此,每当我想以该特定用户名运行脚本时,我应该会看到一条消息“无法以用户身份登录”并提示重新输入用户名。这应该一直持续到输入任何其他用户名。到目前为止,我有以下脚本。请帮忙。请忽略我糟糕的批处理脚本技能。:)

@ECHO OFF
Echo.
SET /P uname=Username:
IF %uname% == "notallowed" GOTO :LOGIN_ERROR GOTO :LOGIN

:LOGIN_ERROR
ECHO Username Cannot Be notallowed
SET /P uname=Username:
IF %uname% == "notallowed" GOTO :LOGIN_ERROR GOTO :LOGIN

:LOGIN
echo.
SET /P pass=Password:
echo.
SET /P mydatabase=Database:
echo.
rem set oracle_sid=ins
sqlplus -s %uname%/%pass%@%mydatabase% 
@C:/My_Folder/test.sql \n
sqlplus exit

非常感谢!

4

2 回答 2

1

尝试这个...

@ECHO OFF

:GET_USER
ECHO.
SET /P uname=Username:
IF %uname%==notallowed (
  ECHO Username Cannot Be notallowed
  GOTO GET_USER
)

REM The rest of the script...
于 2013-05-24T19:20:38.213 回答
0

使用 If 语句并添加 goto “标记”。例子。

:login
set /p username=
If %username% == "CorrectUsername" goto next
GOTO login
:next
'Rest of your code goes below.
于 2015-11-29T05:13:33.520 回答