我正在運行批處理腳本和用戶必須訪問數據庫的某處。VBScript和批處理交互
此時,用vbscript製作的窗口會提示要求用戶輸入登錄名和密碼。 (確定,取消按鈕)
如果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
(...)
- 如何獲取用戶信息,驗證它,回到批對於計劃A或計劃B?
正如你看到的,如果我們消除「& goto PLAN
」的東西的腳本工作。它將VBS輸入「pass」發送到批處理,批處理回聲「繼續從這裏開始」或「執行其他操作」,其餘代碼應該從同一批處理中繼續。
但是,它不工作...任何幫助,使這個真的工作?
好的。我現在無法測試你的代碼,但我一回家就會測試它。順便說一句,你能檢查我的其他類似但涼爽的鏈接嗎? http://stackoverflow.com/questions/11795483/batch-parsing-to-vbscript-tough-brains-out-there-please – 2012-08-03 12:13:56
嗨,我已經測試和輸入框不會出現。如果您選擇[1],它會迴應「無效密碼」...「做其他事情」。不工作。順便問一下你是否檢查過我的其他鏈接?謝謝 – 2012-08-04 18:57:38
@ user1573858 - ???我不知道你錯在哪裏。該代碼完美適合我。我在第一個提示中輸入1,它給了我VBS輸入框,它向我詢問密碼。我輸入「okay」,然後輸入PLAN-A,其他的輸入到PLAN-B。 – dbenham 2012-08-05 03:42:55