2014-02-05 5 views
0

안녕하세요, 저는 좋은 프로그램을위한 배치 파일을 작성하고 있으며 사용자로부터 입력을 받기 위해 VBscript를 사용하고 있습니다. 프로그램의이 시점에서 나는 "지금 백업 하시겠습니까?"라는 질문을 가지고 있습니다. MsgBox에서. 사용자가 '예'를 누르면 AUTOBACKUP이라고하는 일괄 처리의 태그로 이동해야합니다. 아니, 그것은 고토해야한다 : REJECTAB. 여기에 현재 가지고있는 코드가 있지만 작동하지 않습니다? 어떻게 해결할 수 있습니까?vbYesNoCancel의 출력을 일괄 처리로 전달합니다.

:STARTUPDAS 
    ECHO Wscript.echo i=msgbox("The automatic backup function is active. Would you like to backup now?",     VBYesNoCancel + VBQuestion, "BACKUP")>vbst.vbs&vbst.vbs 
    SET _stringb 
    ENDLOCAL & SET i=%_stringb% 
    cls 
    cls 
    echo. 
    echo. 
    echo    The automatic backup function is active. 
    echo    Would you like to perform a backup now? Y/N 
    echo. 
    if i==6 goto AUTOBACKUP 
    if i==7 goto REJECTAB 
    echo. 
    echo Invalid option. Please try again 
    echo. 
    pause 
    :STARTUPDAS 
    ECHO Wscript.echo i=msgbox("The automatic backup function is active. Would you like to backup now?",     VBYesNoCancel + VBQuestion, "BACKUP")>vbst.vbs&vbst.vbs 
    SET _stringb 
    ENDLOCAL & SET i=%_stringb% 
    cls 
    cls 
    echo. 
    echo. 
    echo    The automatic backup function is active. 
    echo    Would you like to perform a backup now? Y/N 
    echo. 
    if i==6 goto AUTOBACKUP 
    if i==7 goto REJECTAB 
    echo. 
    echo Invalid option. Please try again 
    echo. 
    pause 

미리 감사드립니다. 간단한 들어있는 MsgBox

답변

2
@echo off 

    call :MsgBox "Should i do something?" "VBYesNoCancel+VBQuestion" "Just asking" 
    if errorlevel 7 (
     echo NO - do nothing 
    ) else if errorlevel 6 (
     echo YES - do something 
    ) else if errorlevel 2 (
     echo CANCEL - do ..... 
    ) 

    exit /b 

:MsgBox prompt type title 
    setlocal enableextensions 
    set "tempFile=%temp%\%~nx0.%random%%random%%random%vbs.tmp" 
    >"%tempFile%" echo(WScript.Quit msgBox("%~1",%~2,"%~3") & cscript //nologo //e:vbscript "%tempFile%" 
    set "exitCode=%errorlevel%" & del "%tempFile%" >nul 2>nul 
    endlocal & exit /b %exitCode% 

, 오류 수준으로 MsgBox 함수의 결과를 반환 WScript.Quit을 사용하는 것이 좋다

관련 문제