Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Существует ли возможность взаимодействия с пользователем по ходу выполнения скрипта?

Аватара для RUVATA

Старожил


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


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

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


Всем доброго времени суток
Подскажите пожалуйста существует-ли возможность взаимодействия с пользователем по ходу выполнения скрипта в батнике
смысл в том, что единственное булевое значение, заданное пользователем на определенном этапе - избавит от большой работы, по процедурам обработки ошибок,
да и вообще упрощает алгоритм до "нельзя"
...Покопавшись в поисковиках, в поисках типа: "взаимодействие с пользователем cmd, bat, батник" , "операторы ввода cmd, bat... и.т.д. Ничего вразумительного не нашел.
...Подкоркой мозга чую, что возможность должна быть, или я где-то это уже видел...
конструкция проста : приостановка - получение значения переменной от пользователя - проверка или - продолжение

PS: именно с батниками никогда не заморачивался, но принципы программирования хорошо известны, пишу на VB, VBA. Готов учиться уму разуму.

-------
Одно дело искать сиюминутное решение, другое - искать знания...
вот и думай - что ты ищешь...


Отправлено: 09:25, 05-08-2010

 


Moderator


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

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


Код: Выделить весь код
SET /P variable=[promptString]
Цитата:
Ключ /P позволяет установить значение переменной для входной строки, введенной пользователем. Показывает указанное приглашение promptString перед чтением введенной строки. Приглашение promptString может быть пустым.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:28, 05-08-2010 | #2



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

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


Аватара для Oleg48

Старожил


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

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


Код: Выделить весь код
 
ECHO Хотите продолжить работу программы? Y - Да, N - нет
ECHO __________________________________________
SET /P Choice=
IF %Choice%=="N" GOTO :EOF 
::продолжаем работу программы
Где то так
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:06, 05-08-2010 | #3


Аватара для RUVATA

Старожил


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

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


Назрело два вопроса:

1) Если из одного батника выполняется другой... переменные в них общие, или переменные надо как-то переносить, как например в VB атрибутом к вызываемой процедуре, вообще есть такая возможность?

2) Батник может создавать текстовый файл, и записывать туда данные... а самое главное читать и извлекать данные?

Цитата Oleg48:
%Choice%=="N" »
почему два знака "=" подряд

-------
Одно дело искать сиюминутное решение, другое - искать знания...
вот и думай - что ты ищешь...


Отправлено: 13:02, 05-08-2010 | #4


Аватара для gora

Ушёл из жизни


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

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


RUVATA
<del>
2 Писать может.
Код: Выделить весь код
Echo Bla bla bla>text.txt
Читать тоже может, но здесь нужно знать конкретно что и куда Вы хотите "читать и извлекать данные".
Цитата RUVATA:
почему два знака "=" подряд »
Таков синтаксис CMD!

Отправлено: 13:40, 05-08-2010 | #5


Пользователь


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

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


RUVATA,

Цитата RUVATA:
1) Если из одного батника выполняется другой... переменные в них общие, или переменные надо как-то переносить, как например в VB атрибутом к вызываемой процедуре, вообще есть такая возможность? »
Возможность есть - называется вызов с параметрами, т.е есть некий second.bat запускаемый из first.bat, тогда:

в first.bat вызов запишется так: call Путь\second.bat "%parametr1%" "%parametr2%"

в second.bat "прием" параметров запишется так: parametr1=%~1 & parametr2=%~2

более подробно cmd>call /?

Цитата RUVATA:
почему два знака "=" подряд »
таков синтаксис - cmd>if /? (в jscript же тоже используется "==")

будет больше пользы если изложишь задачу побробнее...

Отправлено: 13:40, 05-08-2010 | #6


Аватара для Oleg48

Старожил


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

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


RUVATA Два знака равно потому что в этой команде сравнивается введенное значение пользователем хранящееся в переменной %Choice% и строковое значение "N" с помощью IF, это не присвоение переменной значения где ставиться одно равно. И правильно писать IF %Choice%=="N"

Отправлено: 13:49, 05-08-2010 | #7


Аватара для RUVATA

Старожил


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

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


синтаксис так синтаксис все понятно... Жаль что в справке на этом не заострено внимание как бы в примерах везде ==, но нигде не упоминается, что это синтаксическое условие IF
Где - то наверное я накуролесил...
программа приостанавливается... значение запрашивает... но нифига его не сохраняет...
Код: Выделить весь код
Set /P Choice= 
echo полученно %Choise% 
if /i %Choice%=="N" (goto :No) else (goto :2step)
echo кажет полученно ничего что бы я не нажимал

или я где-то в "if" напутал, потому, что исход всегда один (goto :No)

-------
Одно дело искать сиюминутное решение, другое - искать знания...
вот и думай - что ты ищешь...


Отправлено: 14:10, 05-08-2010 | #8


Аватара для gora

Ушёл из жизни


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

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


RUVATA, попробуйте изменить так:
Код: Выделить весь код
Set /P Key= 
echo полученно %Key% 
if /i %Key%==N (goto :No) else (goto :2step)
Какая у Вас система?

Отправлено: 14:20, 05-08-2010 | #9


Аватара для Oleg48

Старожил


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

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


RUVATA, попробуйте изменить так:
Код: Выделить весь код
Set /P Key=   
echo полученно %Key%  
if %Key%=="N" goto :No
goto :2step
уберите ключ /i

Отправлено: 14:42, 05-08-2010 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Существует ли возможность ускорить процесс? stalingrad432006 Видео и аудио: обработка и кодирование 20 20-05-2008 20:58
как произвесит расчет времени выполнения скрипта Vlad Drakula Вебмастеру 1 10-12-2003 00:05
подсчет времени выполнения скрипта на PHP Vlad Drakula Вебмастеру 2 13-10-2003 16:20
log выполнения Perl CGI-скрипта CBMen Вебмастеру 1 23-03-2003 14:18




 
Переход