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

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

Ответить
Настройки темы
CMD/BAT - [решено] в батнике вообще можно использовать ИЛИ в цикле if?

Новый участник


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

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


например
if условие1 или условие 2 (
что-то делается
)

если да, то каим символом это реализовывается?

Отправлено: 17:34, 09-04-2011

 

Ветеран


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

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


Цитата emekhedova:
можно использовать ИЛИ в цикле if? »
Нет. Только последовательным сравнением, наподобие:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion


if "%DATE%" == "09.04.2011" (
	call :MySub
) else (
	if "%DATE%" == "10.04.2011" (
		call :MySub
	)
)

endlocal
exit /b 0

:MySub
	echo Some text
	exit /b

Часто можно симулировать условие (если сравнение идёт с одной и той же переменной), наподобие:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

call :MySub "%DATE%" "01.01.2011" "02.01.2011" "23.02.2011" "08.03.2011" "01.05.2011"

endlocal
exit /b 0

:MySub
	set sDate=%~1
:Repeat
	set sTest=%~2

	if defined sTest (
		if "%sDate%" == "%sTest%" (
			echo %sDate% is celebration!
			goto :eof
		) else (
			shift /2
			goto :Repeat
		)
	)
	echo %sDate% is not celebration.
	exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:12, 09-04-2011 | #2



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

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


Новый участник


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

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


спасибо большое

Отправлено: 18:38, 09-04-2011 | #3


Ветеран


Contributor


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

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


Симулировать Или у меня получилось вот так:
Код: Выделить весь код
@Echo Off
Set a=1
Set b=2
Set c=3
Set d=3

rem Организую ИЛИ

Set L=0
if %a%==%b% (Set L=1) Else (if %c%==%d% Set L=1)

If NOT %L%==0 (
	Echo Или выполняется %a% %b%   %c% %d%
) Else (
	Echo Или Не Выполняется %a% %b%   %c% %d%
)
Переменные а b c d введены для тестирования конструкции

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 18:49, 09-04-2011 | #4


Googler


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

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


ну да, можно воспользоваться временной переменной (F):
Код: Выделить весь код
SET F=1& IF NOT условие1 IF NOT условие2 SET "F="
IF DEFINED F (
что-то делается
)

Отправлено: 19:18, 09-04-2011 | #5


Ветеран


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

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


amel27, с возвращением!!!

Отправлено: 20:11, 09-04-2011 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как в батнике определить, ноутбук это или ПК? iamforest Скриптовые языки администрирования Windows 3 22-12-2010 21:59
Разное - Access как расчитать себестоимость с помощью запроса, и как вообще использовать форму JON4 Microsoft Office (Word, Excel, Outlook и т.д.) 0 12-12-2010 20:32
Можно ли использовать две видеокарты? Или старую выкинуть? Rindo Видеокарты 13 05-10-2008 13:59
Можно ли использовать сканер по сети Leon71 Microsoft Windows 95/98/Me (архив) 1 09-10-2003 19:14
Можно ли использовать like в динам. запросе Leon71 Программирование и базы данных 1 11-08-2003 14:45




 
Переход