Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Не ждать подтверждения выбора переменной

Ответить
Настройки темы
CMD/BAT - Не ждать подтверждения выбора переменной

Старожил


Сообщения: 492
Благодарности: 1


Конфигурация

Профиль | Отправить PM | Цитировать


Есть кодик:
@Echo off
chcp 1251
echo BLACK press 1, WHITE press 2.
Set /P Ch=Select:
If "%Ch%"=="1" (
sqlplus /nolog @run.sql
)
If "%Ch%"=="2" (
sqlplusw /nolog @run.sql
)
if not exist exit
exit

Есть 2 вопроса:
1.Как сделать, чтоб выбор воспринимался без нажатия Enter, т.е. нажал 1 и все пошло поехало...
2.Нужно, чтоб после выбора и выполнения окно команд закрывалось.
Ни exit, ни start "sqlplus /nolog", start sqlplus /nolog НЕ ПОМОГАЮТ:-(

Отправлено: 19:28, 22-01-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата interminable:
1.Как сделать, чтоб выбор воспринимался без нажатия Enter, т.е. нажал 1 и все пошло поехало... »
Использовать Choice (в ОС до Vista не включён в поставку, но доступен в комплектах Resource Kit'ов).

Отправлено: 19:42, 22-01-2014 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 492
Благодарности: 1

Профиль | Отправить PM | Цитировать


А на моем примере как?

Отправлено: 19:55, 22-01-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата interminable:
А на моем примере как? »
Например, так (не проверялось):
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

choice.exe /c 12 /m "BLACK press 1, WHITE press 2"
call :Choice%ErrorLevel%

endlocal
exit /b 0

:Choice0
	echo User break choice
	exit /b 0
:Choice1
	sqlplus /nolog @run.sql
	exit /b 0
:Choice2
	sqlplusw /nolog @run.sql
	exit /b 0
:Choice255
	echo Error while choice
	exit /b 1
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:39, 22-01-2014 | #4


Старожил


Сообщения: 492
Благодарности: 1

Профиль | Отправить PM | Цитировать


О ГУРУ ТЫ МЕНЯ СПАС!
Только 2 момента:
1.Нажимается только 1 или 2 другие не воспринимаются.
2.После запуска сиквела окно не закрывается. Оно то понятно, что в 1-м случае оно и не закроется так как сиквел запускается в этом же окне, а во 2-м случае открывается другое окно, но командный интерпритатор не закрывается.

p.s. буду очень благодарен за расшифровку строк:
setlocal enableextensions enabledelayedexpansion

exit /b 0

:Choice0 echo User break choice

:Choice255 echo Error while choice

Последний раз редактировалось interminable, 23-01-2014 в 11:49.


Отправлено: 11:42, 23-01-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата interminable:
1.Нажимается только 1 или 2 другие не воспринимаются. »
Я что-то пропустил:
Цитата interminable:
echo BLACK press 1, WHITE press 2.

If "%Ch%"=="1" (

If "%Ch%"=="2" ( »
?!

Цитата interminable:
2.После запуска сиквела окно не закрывается. Оно то понятно, что в 1-м случае оно и не закроется так как сиквел запускается в этом же окне, а во 2-м случае открывается другое окно, но командный интерпритатор не закрывается. »
У меня нет Oracle. Мой код касался только:
Цитата interminable:
1.Как сделать, чтоб выбор воспринимался без нажатия Enter, т.е. нажал 1 и все пошло поехало... »
Остальное я взял непосредственно из Вашего кода.

Цитата interminable:
p.s. буду очень благодарен за расшифровку строк: »
Начните с чтения документации по «setlocal», «exit», «call».
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:06, 23-01-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Не ждать подтверждения выбора переменной

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. NiOl Скриптовые языки администрирования Windows 7 31-01-2019 19:58
CMD/BAT - [решено] В переменной содержится имя переменной opravdin Скриптовые языки администрирования Windows 3 28-01-2013 11:11
HP 4015 не печатает без подтверждения surgutfred Непонятные проблемы с Железом 0 19-12-2011 09:27
PlayStation 4 в ближайшие годы ждать не стоит OSZone News Новости железа 1 22-07-2011 12:41
CMD/BAT - [решено] не ждать пока приложение заработает. ntro142343245 Скриптовые языки администрирования Windows 1 12-03-2010 20:29




 
Переход