ошибка синтаксиса команды

Тема в разделе "Пакетные файлы CMD, BAT", создана пользователем alex_diablo, 29 сен 2016.

Метки:
  1. alex_diablo
    Оффлайн

    alex_diablo Пользователь

    Сообщения:
    104
    Симпатии:
    7
    добрый день. помогите понять, в чем ошибка:

    кусок кода:

    Код (DOS):
    echo   1 Continue installation with selected version
    echo   2 Choose another version
    echo   3 Back to the list found
    echo   4 Back to the main menu
    echo   5 Exit
    echo.
    echo.
    choice /C 12345 /M "> Choose your action: " /N
    if errorlevel 5 goto exit_menu
    if errorlevel 4 goto begin
    if errorlevel 3 goto dialog
    if errorlevel 2 goto single_setup
    if errorlevel 1 goto setup2

    :: another code

    :: another code
    :: another code

    :exit_menu

    if exist %file1% (del %file1%)
    if exist %file2% (del %file2%)
    exit
     
    при выборе пункта меню 5 выдает ошибку: "ошибка в синтаксисе команды"

    подскажите, что не так?
     
    Последнее редактирование: 29 сен 2016
  2. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.226
    Симпатии:
    4.980
    Так у вас в любом пункте ошибка будет.
    Куда goto ссылается?

    Код (DOS):

    echo  1  Continue installation with selected version
    echo 2  Choose another version
    echo   3 Back to the list found
    echo   4 Back to the main menu
    echo  5  Exits
    echo.
    echo.
    choice /c 12345  /M  "Choose your action"
    if errorlevel  5 goto exi_menu
    if errorlevel 4 goto begin
    if errorlevel 3 goto dialog
    if errorlevel 2 goto single_setup
    if errorlevel 1 goto setup2

    :: another code

    :: another code
    :: another code
    exit /b
    :exi_menu

    pause

    exit

     
     
    Последнее редактирование: 29 сен 2016
  3. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.493
    Симпатии:
    4.310
    Ну, потому что переменная file1 не задана.
    Нужно брать в кавычки.
     
  4. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.226
    Симпатии:
    4.980
    Я,кстати,люблю такую красоту:
    Один раз вставляешь такой блок
    Код (DOS):
    :choice

    setlocal
    if "%~1"=="" (
      set result=0
      pause
      goto choice_3
    )
    set count=0
    :choice_1
    set /a count+=1
    echo %count%. %~1
    shift
    if not "%~1"=="" goto choice_1
    :choice_2
    set /p result=Ваш выбор (1-%count%):
    for /l %%i in (1, 1, %count%) do if "%result%"=="%%i" goto choice_3
    goto choice_2
    :choice_3
    endlocal & exit /b %result%
     
    А дальше просто везде меню,которое можно менять хоть сто раз по скрипту:
    Код (DOS):
    call :choice "тыщ" "тыдыщ" "тыдыдыщ" "Выход"

    if %ErrorLevel% EQU 1 ( Call :WIN7 )
                                     
    if %ErrorLevel% EQU 2 ( Call :operacion )
                                     
    if %ErrorLevel% EQU 3 ( Call :findstrlog )

    if %ErrorLevel% EQU 4 ( Call :Exite ) )
                                     
                                         
    exit /b
     
    Последнее редактирование: 29 сен 2016
    akok нравится это.

Поделиться этой страницей