|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Существует ли возможность взаимодействия с пользователем по ходу выполнения скрипта? |
|
CMD/BAT - [решено] Существует ли возможность взаимодействия с пользователем по ходу выполнения скрипта?
|
![]() Старожил Сообщения: 301 |
Всем доброго времени суток
![]() Подскажите пожалуйста существует-ли возможность взаимодействия с пользователем по ходу выполнения скрипта в батнике смысл в том, что единственное булевое значение, заданное пользователем на определенном этапе - избавит от большой работы, по процедурам обработки ошибок, да и вообще упрощает алгоритм до "нельзя" ...Покопавшись в поисковиках, в поисках типа: "взаимодействие с пользователем cmd, bat, батник" , "операторы ввода cmd, bat... и.т.д. Ничего вразумительного не нашел. ...Подкоркой мозга чую, что возможность должна быть, или я где-то это уже видел... конструкция проста : приостановка - получение значения переменной от пользователя - проверка или - продолжение PS: именно с батниками никогда не заморачивался, но принципы программирования хорошо известны, пишу на VB, VBA. Готов учиться уму разуму. ![]() |
|
------- Отправлено: 09:25, 05-08-2010 |
![]() Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать Windows Server 2003 R2
@echo off set user=Богомолова_Л_Б set ArchDir=D:\Пробная\%date:~6,4%\%date:~0,2%.%date:~3,2%.zip set BaseDir=D:\Пробная\Архив\ echo 11:45 - ПРОЗЬБА ПОКИНУТЬ БАЗУ 1С echo через 5 минут начнется автоматическое архивирование :Er echo Сможете ли вы покинуть БД до 11:50? Y - Да, N - нет echo ============================================ Set /p Key= if %Key%=="N" (goto :No) else (goto :2step) /i :No echo Укажите пожалуйста причину... echo ============================================ set /p Event= echo Причина ( %Event% ) зафиксированна для пользователя %user% pause :2step echo ( %Choise% ) - не является командой if not %Choice%=="Y" goto :Er 7z a -tzip %ArchDir% %BaseDir% pause сейчас вообще ведет себя странно... на этапе первого запроса у пользователя - останавливается... принимает и благополучно закрывается... ни ошибки ни чего... в коде нигде не встречается goto :eof, а в конце каждого логического блока pause а мне нужен ключь /i оператора If , как указанно в справке он отвечает за то, что при сравнении не будет учитываться регистр символов |
------- Отправлено: 14:59, 05-08-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать RUVATA,
команда goto не требует ":", просто goto No - это и есть "причина выхода", т.е. ошибка Cовет: запускай *.bat через cmd и "Echo on" |
Отправлено: 15:02, 05-08-2010 | #12 |
![]() Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать хотя это ничего не меняет...
Цитата RUVATA:
т.е Цитата RUVATA:
там везде есть : как правильно собирается конструкция IF - Else справка убогая до безобразия там во всех примера в конце строки какой-то missing ничкго в скобки не заключается например в том-же "урок-батники" нет никакого missing параметры инструкция заключены в скобки |
||
------- Отправлено: 15:03, 05-08-2010 | #13 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата RUVATA:
PS Цитата deepred:
|
||
Отправлено: 15:09, 05-08-2010 | #14 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать RUVATA,
@echo off set user=Богомолова_Л_Б set ArchDir=D:\Пробная\%date:~6,4%\%date:~0,2%.%date:~3,2%.zip set BaseDir=D:\Пробная\Архив\ echo 11:45 - ПРОCЬБА ПОКИНУТЬ БАЗУ 1С echo через 5 минут начнется автоматическое архивирование :Er echo Сможете ли вы покинуть БД до 11:50? Y - Да, N - нет echo ============================================ Set /p Key= if "%Key%"=="N" (goto No) else goto 2step :No echo Укажите пожалуйста причину... echo ============================================ set /p Event= echo Причина ( %Event% ) зафиксированна для пользователя %username% goto :eof & rem а дальше что? Выход? :2step echo ( %Key% ) - не является командой if not "%Key%"=="Y" goto Er 7z a -tzip %ArchDir% %BaseDir% pause |
Последний раз редактировалось deepred, 06-08-2010 в 09:28. Отправлено: 15:13, 05-08-2010 | #15 |
![]() Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать ну из меня и скрипто-кодер
![]() вот э-т я наблукал ![]() т.е. в конструкции if - else иснструкции для true-IF заключаются в скобки, а для else - нет? тож... синтаксис не описанный в справке? @echo off set user=Богомолова_Л_Б set ArchDir=D:\Пробная\%date:~6,4%\%date:~0,2%.%date:~3,2%.zip set BaseDir=D:\Пробная\Архив\ echo 11:45 - ПРОСЬБА ПОКИНУТЬ БАЗУ 1С echo через 5 минут начнется автоматическое архивирование :Er echo Сможете ли вы покинуть БД до 11:50? Y - Да, N - нет echo ============================================ Set /p Key= if /i %Key%#==N# (goto No) else goto 2step :No echo Укажите пожалуйста причину... echo ============================================ set /p Event= echo Причина ( %Event% ) зафиксированна для пользователя %username% pause :2step if /i not %Key%#==Y# goto Er 7z a -tzip %ArchDir% %BaseDir% pause ![]() |
------- Отправлено: 15:22, 05-08-2010 | #16 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Существует ли возможность ускорить процесс? | 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 |
|