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. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    Подскажите как создать bat файл для DOS с меню выбора? Например есть 3 игры DOS, после запуска bat файла предоставляется выбор какую игру запустить 1,2 или 3
     
  2.  
  3. vwtrotsky

    vwtrotsky

    Регистрация:
    24 сен 2008
    Сообщения:
    154
    @SkaravaraBoroda, я тут как раз недавно с думами возился. Так что лови пример.
    Для работы кириллицы в ДОСе сохраняй бат файл в OEM 866
    Код:
    @echo off
    
    :m1
    Echo Выберите игру:
    Echo.
    Echo 1 - Doom 1: The Ultimate Doom
    Echo 2 - Final Doom: The Plutonia Experiment
    Echo 3 - Doom 2: Hell on Earth
    Echo 4 - Test
    Echo 99 - Выход
    echo.
    Set /p choice="Ваш выбор: "
    if not defined choice goto m1
    if "%choice%"=="1" (gzdoom.exe -iwad wad\DOOM.WAD -file add-on\doommus.pk3)
    if "%choice%"=="2" (gzdoom.exe -iwad wad\PLUTONIA.WAD -file add-on\plutoniamus.pk3)
    if "%choice%"=="3" (gzdoom.exe -iwad wad\DOOM2.WAD -file add-on\doom2mus.pk3)
    if "%choice%"=="4" (gzdoom.exe -iwad wad\DOOM2.WAD -file add-on\doommus.pk3)
    if "%choice%"=="99" (Exit)
    Echo.
    Echo Не правильно сделан выбор задания
    Echo.
    Echo.
    goto m1
    pause >nul
    
     
    Последнее редактирование модератором: 5 мар 2016
    AndyFox и hobot нравится это.
  4. hobot Оператор ДВК.

    hobot

    Регистрация:
    6 авг 2009
    Сообщения:
    1.777
    http://bfy.tw/4a7G

    ;-)
     
  5. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    Вот нагуглил такой вариант. Будет работать в DOS, и версиях линейки Windows 9x.
    Пример с сайта:

    http://gobruen.com/progs/dos_batch/dos_batch.html

    CHOICE
    Allows user input. Default is Y or N.
    You may make your own choice with the /C: switch. This batch file displays a menu of three options. Entering 1, 2 or 3 will display a different row of symbols. Take note that the IF ERRORLEVEL statements must be listed in the reverse order of the selection. CHOICE is not recognized in some versions of NT.


    - примерный перевод (уж простите за косноязычность):

    Команда "CHOICE".
    Это возможность ввода данных от пользователя. По умолчанию "Y" или "N".
    Параметром "/C:" вы можете сделать свой вариант выбора. Этот bat-файл выводит меню с тремя опциями. Ввод 1,2 или 3 отображает разные строки с символами. Заметьте, что строки с IF ERRORLEVEL должны быть перечислены в обратном порядке выбору. Команда "CHOICE" не распознаётся в некоторых версиях NT.


    Содержимое bat-файла:
    Код:
    @ECHO OFF
    ECHO 1 - Stars
    ECHO 2 - Dollar Signs
    ECHO 3 - Crosses
    
    CHOICE /C:123
    
    IF errorlevel 3 goto CRS
    IF errorlevel 2 goto DLR
    IF errorlevel 1 goto STR
    
    :STR
    ECHO *******************
    ECHO.
    PAUSE
    CLS
    EXIT
    
    :DLR
    ECHO $$$$$$$$$$$$$$$$$$$$
    ECHO.
    PAUSE
    CLS
    EXIT
    
    :CRS
    ECHO +++++++++++++++++++++
    ECHO.
    PAUSE
    CLS
    EXIT
    Легко переделать под запуск игр.
    Думаю очень простой и понятный пример.

    Кстати, насколько помню можно использовать буквы вместо цифр.
    Пишем /C:ABC и будет выбор нажатием клавиш А, В или С.
    Лучше конечно по названию игр.
    Например, клавишей D запускаем Doom, а клавишей Q запускаем Quake и так далее.


    Подробнее про некоторые параметры этой команды:
    https://en.wikipedia.org/wiki/Choice_(command)
     
  6. Helmut Herr Mannelig

    Helmut

    Переводчик

    Регистрация:
    18 мар 2008
    Сообщения:
    7.083
    Вообще, следовало бы уточнить версию DOS. Не помню, входит ли возможность choice в стоковый набор 6.22, а раньше для этого нужна была отдельная мини-утилитка типа ASK.COM. Да и в комплекте Norton Utilites была аналогичная.

    ЗЫ: вспомнил. Нортоновская называлась BE, и у нее был более широкий функционал для использования в bat-никах. Кроме вопроса, были еще команды чтобы перезагрузить систему, просто пискнуть через спикер, еще что-то. Для создания установочных bat.
     
    Последнее редактирование: 4 мар 2016
    daemolisher нравится это.
  7. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    DosBox 0.74
     
  8. Helmut Herr Mannelig

    Helmut

    Переводчик

    Регистрация:
    18 мар 2008
    Сообщения:
    7.083
    @SkaravaraBoroda, а, тогда все как сказали выше.


    Кстати, реально, кто-нибудь помнит, в 6.22 уже можно было обходиться без сторонних утилит для создания мультиконфига и bat-ников с выбором, или это появилось еще позже?
    UPD: вопрос снимается, нашел на вики, что появилось в 6.0.
     
    Последнее редактирование: 4 мар 2016
  9. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    Должно получится так?
    Код:
    @echo OFF
    ECHO 1 - Stars
    ECHO 2 - Dollar Signs
    ECHO 3 - Crosses
    
    CHOICE /C:123
    
    IF errorlevel 3 goto CRS
    IF errorlevel 2 goto DLR
    IF errorlevel 1 goto game1
    
    :game1
    start 1\prince.exe
    ECHO.
    PAUSE
    CLS
    EXIT
    
    :DLR
    ECHO $$$$$$$$$$$$$$$$$$$$
    ECHO.
    PAUSE
    CLS
    EXIT
    
    :CRS
    ECHO +++++++++++++++++++++
    ECHO.
    PAUSE
    CLS
    EXIT
    
     
    Последнее редактирование модератором: 5 мар 2016
  10. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    @SkaravaraBoroda, всё же почитай ты что ли документацию и фигурнова... попытки без минимального понимания переписать выданный пример приведут к тоннам объяснений, которые можно избежать, если ты просто почитаешь рекомендованное.

    echo - выводит последующую строку символов в данном случае. Туды надо вписать названия твоих игорей.

    это не так делается, если конечно очень не хочется прописывать огромный path.
    Надо сделать cd в директорию игры.
     
    tuliss нравится это.
  11. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    Видать не понять мне такого
     
  12. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    @SkaravaraBoroda, этот бат-файл нужен для работы в настоящем досе? (то есть на старом компе грузимся в DOS и так далее?)


    Или же просто надо несколько игр запускать через DosBox ?

    С ним гораздо проще:
    можно использовать как параметры запуска, так и различные конфигурационный файлы

    Даже есть специальные оболочки - в них можно добавить игр, а потом через такую оболочку запускать их.

    Где-то была тема такая...
     
  13. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    Нужно запускать через DosBox на Android
     
    Последнее редактирование: 4 мар 2016
  14. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    ну... лень-матушка. Помогать хорошо той лошадке, которая везёт.
    Тебе тут всё изложили, разжевали и в рот положили, а тебе даже проглотить лень.
    ну приноси его сюда... сам то не сделаешь ведь...
     
  15. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    @SkaravaraBoroda, должны быть лаунчеры

    вот например какой-то DosBox Manager
    https://play.google.com/store/apps/details?id=com.fishstix.dosboxlauncher&hl=ru

    - не знаю как он работает, не проверял.


    Всё правильно понял, же.

    Вот пример запуска игр:

    Код:
    @ECHO OFF
    ECHO.
    ECHO P - Prince Of Persic
    ECHO D - Doom
    ECHO N - Duke Nukem
    ECHO X - Zakryt' nafig
    ECHO.
    
    CHOICE /C:PDNX
    
    IF errorlevel 4 goto VYH
    IF errorlevel 3 goto DNU
    IF errorlevel 2 goto DOM
    IF errorlevel 1 goto POP
    
    :POP
    prince.exe
    PAUSE
    EXIT
    
    :DOM
    doom.exe
    PAUSE
    EXIT
    
    :DNU
    nuke.exe
    PAUSE
    EXIT
    
    :VYH
    EXIT
    
    Лично проверил на как в Windows 7 x64, так и в DosBox 0.74 - всё работает.

    Пути к играм надо естественно писать туда где они лежат
    например, вместо prince.exe можно написать C:\games\prince.exe
    если они там лежат, конечно же
     
    AndyFox и SkaravaraBoroda нравится это.
  16. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    Спасибо большое! Все работает если батник лежит в папке с игрой ,а если прописать C:\dos\prince.exe пишет ошибку
    --- добавлено 4 мар 2016, предыдущее сообщение размещено: 4 мар 2016 ---
    Если запускать файл setup.exe все работает нормально,а вот саму игру запускать не хочет
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      61 КБ
      Просмотров:
      941
  17. daemolisher

    daemolisher

    Регистрация:
    2 дек 2009
    Сообщения:
    1.704
    Может быть потому, что монтируется папка "d:\dos" к диску "С:" ?
    Или там внутри ещё одна папка "dos" ?

    можно попробовать выбирать папку командой "CD"
    то есть
    вместо "dos\doom.exe" пишем так:
    cd dos
    doom.exe

    Отразил это в примере ниже:


    Кстати, забыл что "EXIT" скорей всего выключит весь DosBox целиком.
    Наверно, это неудобно.

    И можно ещё добавить CLS в начале - такая команда очищает экран от текста, чисто для красоты

    Вот так получится:
    Код:
    @ECHO OFF
    
    CLS
    
    ECHO.
    ECHO  P - Prince Of Persic
    ECHO  D - Doom
    ECHO  N - Duke Nukem
    ECHO.
    ECHO  X -  BbIxog :)
    ECHO.
    
    CHOICE /C:PDNX
    
    ECHO.
    
    IF errorlevel 4 goto VYH
    IF errorlevel 3 goto DNU
    IF errorlevel 2 goto DOM
    IF errorlevel 1 goto POP
    
    :POP
    prince.exe
    goto VYH
    
    :DOM
    cd dos
    doom.exe
    goto VYH
    
    :DNU
    nuke.exe
    goto VYH
    
    :VYH
    ECHO.
    
    если надо таки что бы DosBox выключался то можно добавить EXIT вконце
     
  18. SkaravaraBoroda

    SkaravaraBoroda

    Регистрация:
    22 окт 2015
    Сообщения:
    60
    Дружище ты мой кумир) Огромное тебе спасибо!
     
  19. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.486
    цветная менюшка для досбокса (:cd1,2,3 - выбор какой СД мантировать. :end - запуск самой игры):
    Код:
    @ECHO off
    cls
    
    :start
    ECHO [44;1mЙНННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН»
    ECHO є [32mDOSBox Shell[37m є
    ECHO є є
    ECHO є [32;1m1[37m - [33;1mcd1[37m є
    ECHO є [32;1m2[37m - [33;1mcd2[37m є
    ECHO є [32;1m3[37m - [33;1mcd3[37m є
    ECHO є є
    ECHO ИННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННј[0m
    choice /N /C:123
    if errorlevel 3 goto cd3
    if errorlevel 2 goto cd2
    if errorlevel 1 goto cd1
    goto start
    
    :cd1
    mount t ..\00 -t cdrom -label DISK1
    goto end
    
    :cd2
    mount t ..\01 -t cdrom -label DISK2
    goto end
    
    :cd3
    mount t ..\02 -t cdrom -label DISK3
    goto end
    
    :end
    mount c .\_games\
    c:
    cd harvest
    h.bat
    
    движок форума даже в [/code] порезал "лишние" пробелы и управляющие символы. так что, выглядеть будет некорректно. правильный батник во вложении.
     

    Вложения:

    • bat_menu.rar
      Размер файла:
      321 байт
      Просмотров:
      152
    Последнее редактирование: 8 мар 2016
    AndyFox нравится это.
  20. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.384
    Подскажите, возник такой вопрос...

    можно ли сделать досовское меню для выбора загрузки драйверов конкретной звуковой карты?

    Например, есть креативовский PCI звук, для которого надо грузить менеджер памяти в config.sys и ISA-шная карта, не требующая этого.
    Можно ли сделать так, чтобы по менюшке выбирать, какую карту грузить?
     
  21. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    817
    Так меню в дос - это просто разные варианты загрузки драйверов и резидентных программ. Если можно сделать два разных конфиг.сис и автоэкзек.бат для каждой карты по отдельности, то остается только объединить эти параметы в обоих файлах с выбором необходимого.
     
    MAN-biker нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление