我正在运行一个批处理脚本,并且用户必须在某个地方访问数据库。
这时,一个用vbscript制作的窗口会提示要求用户输入登录名和密码。(确定,取消按钮)
如果 OK 后凭据正确,则批次将根据计划 A 继续执行,否则批次将执行其他操作以执行计划 B。如果(取消),它将返回批处理和主菜单。
这就是我一直在努力解决的问题:
@echo off
:Ini
echo [1] Access database
echo [2] Main menu
echo:
set /p Quest= What do you prefer (1 / 2)?
if not '%Quest%'=='' set Quest=%Quest:~0,1%
if '%Quest%'=='1' goto VBS
if '%Quest%'=='2' goto BATCH
echo Invalid option, please try again
cls
goto Ini
:BATCH
echo Heading for main menu ...
goto Main
:VBS
:wscript.echo InputBox("Enter your password","VBScript-Batch")
findstr "^:" "%~sf0" | findstr /i /v ":Label" >temp.vbs
for /f "delims=" %%N in ('cscript //nologo temp.vbs') do set pass=%%N
del temp.vbs
:Label1
If %pass%=="okay" echo Valid Password ! & goto PLAN-A
If not %pass%=="okay" echo Invalid Password !! & goto PLAN-B
:PLAN-A
echo continue from here
:PLAN-B
echo do something else
(...)
-- 如何获取用户信息,对其进行验证并返回到planA 或planB 的批次?
如您所见,如果我们消除 " & goto PLAN
" 的东西,脚本就可以工作。它将 VBS 输入“通过”发送到批处理,批处理回显“从这里继续”或“做其他事情”,其余代码应从同一批处理中继续。
但是,它不起作用......有什么帮助让它真正起作用吗?