![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Оператор IF несколько условий |
|
CMD/BAT - [решено] Оператор IF несколько условий
|
Пользователь Сообщения: 105 |
Здравствуйте.
Помогите пожалуйста. Нужно, чтобы, переходило к соответствующей метке перехода в этом выражении какая-то ошибка. Его суть, если не выполняется ни одно из предыдущих условий, то.... if (("%virazhenie%" neq "stroka1") & ("%virazhenie%" neq "stroka2") & ("%virazhenie%" neq "stroka3")) goto NetSovpadeniy set /p virazhenie= if "%virazhenie%"=="stroka1" goto stroka1 if "%virazhenie%"=="stroka2" goto stroka2 if "%virazhenie%"=="stroka3" goto stroka3 if (("%virazhenie%" neq "stroka1") & ("%virazhenie%" neq "stroka2") & ("%virazhenie%" neq "stroka3")) goto NetSovpadeniy pause :stroka1 echo stroka1 pause :stroka2 echo stroka2 pause :stoka3 echo stroka3 pause :NetSovpadeniy echo NetSovpadeniy pause |
|
Отправлено: 13:48, 24-07-2021 |
Ветеран Сообщения: 4635
|
Профиль | Отправить PM | Цитировать Цитата epoddubniy:
Сразу переходите по указателю |
|
Отправлено: 14:45, 24-07-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать epoddubniy, несколько If через & ИМХО не аналогичен and из других языков программирования и работать не будет. И, ИМХО, массированное применение GoTo потом очень затрудняет чтение и отладку кода. Удобнее использовать псевдопроцедуры.
@Echo Off cls set /p virazhenie=Input stroka# ^> if "%virazhenie%" neq "stroka1" If "%virazhenie%" neq "stroka2" If "%virazhenie%" neq "stroka3" Call :NetSovpadeniy &Exit /B if "%virazhenie%"=="stroka1" Call :stroka1 if "%virazhenie%"=="stroka2" Call :stroka2 if "%virazhenie%"=="stroka3" Call :stroka3 Pause Exit /B :stroka1 echo stroka1 Exit /B :stroka2 echo stroka2 Exit /B :stroka3 echo stroka3 Exit /B :NetSovpadeniy echo NetSovpadeniy Pause Exit /B @Echo Off cls set /p virazhenie=Input stroka# ^> if "%virazhenie%" neq "stroka1" If "%virazhenie%" neq "stroka2" If "%virazhenie%" neq "stroka3" Call :NetSovpadeniy &Exit /B Call :%virazhenie% Pause Exit /B :stroka1 echo stroka1 Exit /B :stroka2 echo stroka2 Exit /B :stroka3 echo stroka3 Exit /B :NetSovpadeniy echo NetSovpadeniy Pause Exit /B |
------- Последний раз редактировалось megaloman, 24-07-2021 в 16:30. Отправлено: 16:10, 24-07-2021 | #3 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать |
Отправлено: 06:37, 29-07-2021 | #4 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать epoddubniy,
Если в рамках предыдущих кодов
Как вариант
@Echo Off cls Echo Type 1,2,3,C CHOICE /C 123C /N /M "1-stroka1, 2-stroka1, 3-stroka1, C-завершить" Set /A Out=%Errorlevel% If %Out%==4 Exit /B If %Out%==1 Call :stroka1 If %Out%==2 Call :stroka2 If %Out%==3 Call :stroka3 Pause Exit /B 0 :stroka1 echo stroka1 Exit /B :stroka2 echo stroka2 Exit /B :stroka3 echo stroka3 Exit /B |
|
------- Отправлено: 09:04, 29-07-2021 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Обработка условий (IF) | V!RTuE | Скриптовые языки администрирования Windows | 1 | 30-08-2014 05:44 | |
CMD/BAT - Скрипт с проверкой условий | wiznv | Скриптовые языки администрирования Windows | 6 | 30-07-2014 07:26 | |
VBS/WSH/JS - Завершение условий | Тишина | Программирование и базы данных | 2 | 11-04-2014 16:23 | |
[решено] Несколько условий в переменной $re2 | KrotMen | Вебмастеру | 2 | 08-07-2012 15:16 | |
Firewall несколько условий для порта | Welcome | Microsoft Windows NT/2000/2003 | 0 | 14-06-2011 04:07 |
|