Войти

Показать полную графическую версию : [решено] Выбор варианта установки


Pozia
15-09-2010, 22:52
Собственно как сделать, чтобы при запуске батника выскочил вопрос о возможном выборе из нескольких пунктов (1 - то то ... 2 - то то ... и т.д.) И в конце необходимо ввести необходимый номер. после чего выполняется команда под этим номером а DOS окно исчезло бы. Спасибо.

gora
15-09-2010, 23:38
Посмотрите здесь, например: [решено] реализация tasklist и taskkill в одном батнике с меню выбора (http://forum.oszone.net/post-1388165.html)

Pozia
16-09-2010, 15:50
gora, подскажите еще нюансы:
1. какая команда очищает содержимое дос окна?
2. Если у меня выбор состоит из нескольких пунктов то как записать скрипт, чтобы выбор нужных из списка можно было бы записать через пробел и чтобы они поочередно выполнились после нажатия энтр?

gora
16-09-2010, 15:58
1 CLS
2 Чуть подробнее. Т.е. у Вас, например, 5 команд и Вы хотите ввести, например, не просто одну цифру (от 1 до 5), а указать несколько цифр сразу (2 5 1) и нажать ввод, что бы выполнить последовательно 2, потом 5, потом 1 за один раз?

Pozia
16-09-2010, 16:10
Поняли правильно. Дополню только еще. Мне не принципиально выбирать вразнобой. Батник я пишу чтобы он по моему выбору располовал при установке на т-40 минуте нужные мне драйвера, которые я выберу цифрами. Допустим на звук, на чипсет и модем. Для каждого устройства будет свой архив который будет распаковываться батником. Запуск батника будет организован с помощью fake от mr. Dusha. Может я чего то мудрю и мою задачу можно решить иначе. Подскажите если знаете. Спасибо.

gora
16-09-2010, 16:16
@Echo off
:LOOP
CLS
Echo.
Echo 1 - Первая команда
Echo 2 - Вторая команда
Echo 3 - Третья команда
Echo 4 - Чевертая команда
Echo 5 - Пятая команда
Echo.
Set var=
Set /P var="Введите команду: "
For %%i In (%var%) Do (
If %%i GTR 5 Echo Неверная команда "%%i"& Pause& GoTo :LOOP
If %%i LSS 1 Echo Неверная команда "%%i"& Pause& GoTo :LOOP
Call :m%%i
)
Exit

:m1
Echo Выполняется команда 1
GoTo :EOF

:m2
Echo Выполняется команда 2
GoTo :EOF

:m3
Echo Выполняется команда 3
GoTo :EOF

:m4
Echo Выполняется команда 4
GoTo :EOF

:m5
Echo Выполняется команда 5
GoTo :EOF

Pozia
16-09-2010, 20:13
gora, пока сделал вот так:
@Echo off
title Установка обнавленных драйверов
:LOOP
CLS
echo ===============================================================================
echo ====== Укажите цифрой через пробел какие драйвера вы хотите установить ========
echo ===============================================================================
echo === 1 - обнавленные драйвера для компьютера DriversNEWComputer ====
echo === 2 - обнавленные драйвера для ноутбука DriversNEWNotebook ====
echo === Enter - Продолжение установки со стандартными драйверами ====
echo ===============================================================================
Echo.
Set var=
Set /P var="Сделайте ваш выбор: "
For %%i In (%var%) Do (
If %%i GTR 3 Echo. & Echo Неверно! Еще разок! & Echo. & Pause& GoTo :LOOP
If %%i LSS 1 Echo. & Echo Неверно! Еще разок! & Echo. & Pause& GoTo :LOOP
Call :m%%i
)
Exit

:m1
Echo Распаковка DriversNEWComputer
.\7z.exe x -y -aoa -o"%SystemDrive%\WINDOWS\DriversPozia" ".\DriversNEWComputer.7z" >nul
GoTo :EOF

:m2
Echo Распаковка DriversNEWNotebook
.\7z.exe x -y -aoa -o"%SystemDrive%\WINDOWS\DriversPozia" ".\DriversNEWNotebook.7z" >nul
GoTo :EOF


нужна еще маленькая помощь для красоты процесса.

После того как я выбрал нужное действие появляется надпись "Распаковка DriversNEWComputer" или "DriversNEWNotebook" или и то и другое вместе. Как перед этим еще добавить фразу общую типа "Ждите завершения...". И можно ли добавить после фраз "Распаковка DriversNEWNotebook" многоточие которое во время распаковки "бегало" бы (одна точка, две, три... и так по кругу). Спасибо!

gora, еще нюанс всплыл. На т-40 не отображаются русские буквы. Кодировка OEM русская. Никак решить нельзя?

gora
16-09-2010, 21:51
Скрипт + нужные файлы (http://gora.7zsfx.info/test/Temp_s2_100916_21-40.7z). Тестировал на "живой" win XP (на win7 есть небольшой баг, разбираться не стал).На т-40 не отображаются русские буквы. »
Не подскажу.

Pozia
16-09-2010, 22:18
не работает. выбираю один из пунктов и скрипт завершает работу. Успеваю прочесть надпись - Ждите завершения и все. ничего не распаковывается

ой. пардонте. сонные глаза. все нормально. спасибо!




© OSzone.net 2001-2012