1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Soft Создание bat файла для DOS с меню выбора

Тема в разделе "Hard & Soft", создана пользователем SkaravaraBoroda, 4 мар 2016.

  1. Grue13 Ocelote.12

    Grue13

    Регистрация:
    26 апр 2006
    Сообщения:
    10.055
  2. Gamecollector

    Gamecollector

    Регистрация:
    23 сен 2016
    Сообщения:
    2.410
    Меню в config.sys -- секция [MENU] плюс команда MENUITEM. SUBMENU и MENUDEFAULT несколько расширяют возможности. Выбор нужной ветки в autoexec.bat -- команда GOTO %CONFIG% плюс метки. Остаётся ли переменная окружения %CONFIG% в живых после завершения autoexec.bat -- а чёрт его знает...
    Если нужен выбор просто в .bat -- в виде меню ничего такого не попадалось. Ввод пользователя и его обработка -- внешняя команда CHOICE (в WinXP она, кстати, внутренняя уже). Ну или в Norton Utilities что-то такое было...
     
  3. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.384
    Ага, спасибо, особенно за примеры, буду разбираться.
     
  4. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.189
    Прошу подсказать, что не так в этом меню, почему виснет во всех вариантах DOSBox?

    Код:
    cls
    @echo off
    :bj
    echo Select variant:
    echo.
    echo 1 - Monochrome
    echo 2 - Color
    echo.
    set /p choice = "Your choice:"
    if not defined choice goto bj
    if "%choice%"=="1" (gwbasic.exe blackjkm.bas)
    if "%choice%"=="2" (gwbasic.exe blackjkm.bas)
    echo.
    echo Not correct!
    echo.
    echo.
    goto bj
    pause > nul
     
  5. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.128
    Мне все 4 основные строчки не нравятся, соответствуют ли синтаксису батников для msdos. Вполне возможно поддержка усеченая (либо от железа ещё дополнительно что то требуется, что dosbox не умеет), даже если правильная, т.е. нужно образ с dos грузить для поверки, а не встроенный. Т.е. если при запуске с образом дискеты msdos 6.22 не заработает под досбокс, проблема с синтаксисом скорее-всего. Если заработает, встроенная имитация dos не переваривает этот батник.
     
    Последнее редактирование: 27 янв 2023
    AndyFox нравится это.
  6. Gamecollector

    Gamecollector

    Регистрация:
    23 сен 2016
    Сообщения:
    2.410
    Set /p вроде как поддерживается только в WinXP, да и то после включения чего-то там в реестре. В MSDOS 6.22 отдельная внешняя команда CHOICE для организации выбора была.
    If not defined -- аналогично.
    Ну и скобки после if -- тоже под подозрением...
    В общем, написано не для MSDOS и не для DOSBox.
     
    MAN-biker, AndyFox и Ogr 2 нравится это.
  7. TBAPb MIA

    TBAPb

    Хелпер

    Регистрация:
    26 сен 2005
    Сообщения:
    2.000
    Код:
    :start
    @echo off
    echo CHOOSE WISELY
    echo 1 OG RULES
    echo 2 OG KEWL
    choice /c:12 rules or kewl?
    echo.
    REM YOU SHOULD GO FROM HIGHER TO LOWER FOR SOME REASON! ie 3, 2, 1 ...
    if ERRORLEVEL 2 goto kewl
    if ERRORLEVEL 1 goto rules
    
    goto start
    
    :rules
    echo RULES
    goto exit
    
    :kewl
    echo KEWL
    goto exit
    
    :exit
    echo byebye
    
    --- добавлено 27 янв 2023, предыдущее сообщение размещено: 27 янв 2023 ---
    Потому что синтаксис для cmd.exe, а не COMMAND.COM и уж тем паче в DOSBox ОЧЕНЬ усечённая поддержка его синтаксиса.
     

    Вложения:

    • choice.dosbox
      Размер файла:
      53 байт
      Просмотров:
      47
    MAN-biker, Tigoro и AndyFox нравится это.
  8. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.128
    Во, теперь более знакомый вид )
     
  9. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.189
    А если такой код?
    Код:
    :bj
    cls
    @echo off
    echo 1 - B/W
    echo 2 - Color
    echo 3 - Exit
    echo.
    
    choice /c:123 /n /m "Press 1, 2, or 3"
    
    echo.
    if %errorlevel%==3 goto et
    if %errorlevel%==2 goto cl
    if %errorlevel%==1 goto bw
    
    :cl
    gwbasic.exe blackjkc.bas
    goto bj
    
    :bw
    gwbasic.exe blackjkm.bas
    goto bj
    
    :et
    echo Bye!
    Почему-то не выбирает и не выходит...
     
    Последнее редактирование: 27 янв 2023
  10. TBAPb MIA

    TBAPb

    Хелпер

    Регистрация:
    26 сен 2005
    Сообщения:
    2.000
    @AndyFox, уважаемый, скажите!
    Если вы часы протеряете в лесу - искать вы их под фонарём будете, потому что там светло?

    Я вам дал гарантировано рабочий в DOSBox синтакс, зачем вы мучаете бедный компутер? Вы думаете что метод китайских хакеров у вас сработает?
     
    AndyFox нравится это.
  11. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.189
    @TBAPb, спасибо, только хотелось ведь и самому разобраться. =)

    Сработал такой вот код:
    Код:
    cls
    @echo off
    echo 1 - B/W
    echo 2 - Color
    echo 3 - Exit
    echo.
    
    choice /c:123 /n /m "Press 1, 2, or 3"
    
    echo.
    if errorlevel 3 goto end
    if errorlevel 2 gwbasic.exe blackjkc.bas
    if errorlevel 1 gwbasic.exe blackjkm.bas
    
    :end
    echo Bye!
    https://www.old-games.ru/forum/thre...-dlja-malenkix-igr.60694/page-51#post-1850010
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление