Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Выбор варианта установки (http://forum.oszone.net/showthread.php?t=185564)

Pozia 15-09-2010 22:52 1496265

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

gora 15-09-2010 23:38 1496283

Посмотрите здесь, например: [решено] реализация tasklist и taskkill в одном батнике с меню выбора

Pozia 16-09-2010 15:50 1496805

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

gora 16-09-2010 15:58 1496806

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

Pozia 16-09-2010 16:10 1496820

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

gora 16-09-2010 16:16 1496823

Код:

@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 1497070

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 1497165

Скрипт + нужные файлы. Тестировал на "живой" win XP (на win7 есть небольшой баг, разбираться не стал).
Цитата:

Цитата Pozia
На т-40 не отображаются русские буквы. »

Не подскажу.

Pozia 16-09-2010 22:18 1497178

не работает. выбираю один из пунктов и скрипт завершает работу. Успеваю прочесть надпись - Ждите завершения и все. ничего не распаковывается

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


Время: 17:05.

Время: 17:05.
© OSzone.net 2001-