interminable |
22-01-2014 19:28 2294292 |
Не ждать подтверждения выбора переменной
Есть кодик:
@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 НЕ ПОМОГАЮТ:-(
|
Цитата:
Цитата interminable
1.Как сделать, чтоб выбор воспринимался без нажатия Enter, т.е. нажал 1 и все пошло поехало... »
|
Использовать Choice (в ОС до Vista не включён в поставку, но доступен в комплектах Resource Kit'ов).
|
interminable |
22-01-2014 19:55 2294334 |
А на моем примере как?
|
Например, так (не проверялось):
читать дальше »
Код:
@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
|
interminable |
23-01-2014 11:42 2294615 |
О ГУРУ ТЫ МЕНЯ СПАС!
Только 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
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».
|
Время: 02:57.
© OSzone.net 2001-