バッチ スクリプトを実行していますが、ユーザーがデータベースにアクセスする必要がある場所があります。
この時点で、vbscript で作成されたウィンドウが、ユーザーにログインとパスワードの入力を求めるプロンプトを表示します。(OK、キャンセルボタン)
OK の後に資格情報が正しい場合、バッチは planA に従って続行されます。そうでない場合、バッチは planB に移動して別のことを行います。(キャンセル) の場合、バッチとメイン メニューに戻ります。
これは私が苦労してきたことです:
@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入力の「パス」をバッチに送信し、バッチは「ここから続行」または「何か他のことを行う」とエコーし、そこからコードの残りの部分を同じバッチで続行する必要があります。
しかし、それは機能していません...これを本当に機能させるための助けはありますか?