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

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

Ответить
Настройки темы
CMD/BAT - Сравнение чисел

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


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

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


Добрый день!
Подскажите пожалуйста, не могу разобраться с логикой сравнения чисел в батниках. Вот пример

@echo off
set %a=1
if %a equ 1 echo ravno
if %a neq 1 echo ne ravno
echo !a!

По идее, если один равно одному, то должен писать ravno, если один не равен одному, то должен писать ne ravno, но в таком виде пишет ne ravno, а почему не могу понять.
Заранее спасибо.

Отправлено: 10:46, 01-09-2014

 

Ветеран


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

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


Код: Выделить весь код
@echo off
set a=1
if %a% equ 1 echo ravno
if %a% neq 1 echo ne ravno
echo %a%
pause>nul
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:20, 01-09-2014 | #2



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

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


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


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

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


2 Georgio
так тоже не работает, но я сделал вот как :

set a=1
set b=1
if %a% equ %b% echo ravno

вот в таком виде нормально отрабатывает

Отправлено: 12:40, 01-09-2014 | #3


Ветеран


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

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


Цитата AlekseyB.:
я сделал вот как :
set a=1
set b=1
if %a% equ %b% echo ravno
вот в таком виде нормально отрабатывает »
Гениально!

Отправлено: 12:49, 01-09-2014 | #4


Ветеран


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

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


Цитата AlekseyB.:
2 Georgio
так тоже не работает, »
Не верю:
Цитата:
Код: Выделить весь код
E:\Песочница\0396>type 0001.cmd
@echo off
set a=1
if %a% equ 1 echo ravno
if %a% neq 1 echo ne ravno
echo %a%
exit /b
E:\Песочница\0396>0001.cmd
ravno
1
Именно с числами лучше вообще «set /a» пользовать.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:37, 01-09-2014 | #5


Ветеран


Contributor


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

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


Мне не удалось повторить Ваше неравно. Могу предположить, что за 1 в set есть пробелы. Но и в этом случае - у меня отработало правильно. Попробуйте так:
Код: Выделить весь код
@echo off
 set "a=1"
 if %a% equ 1 echo ravno
 if %a% neq 1 echo ne ravno
 echo %a%

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


Отправлено: 19:18, 02-09-2014 | #6


Старожил


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

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


Код: Выделить весь код
set /a a=1

Отправлено: 21:37, 02-09-2014 | #7


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


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

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


видимо я неправильно переменные указывал
если писать
if %%a equ 1 echo ravno
то в таком виде не работает set a=1, "set a=1", set /a a=1 (пишет ne ravno когда сравниваешь 1 и 1)
а если писать
if %a% equ 1 echo ravno - то подходят любые из вышеописанных способов

Отправлено: 13:16, 03-09-2014 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Сравнение чисел в bat binwatch@vk Скриптовые языки администрирования Windows 4 08-01-2013 21:23
C/C++ - Последовательность чисел denver-312 Программирование и базы данных 7 02-01-2008 20:54
Генератор случайных чисел Murrey Хочу все знать 3 22-08-2006 13:00
сортировка чисел slaine Вебмастеру 12 18-02-2006 20:17
Генерирование случайны чисел в С++ Belka007 Программирование и базы данных 12 23-11-2003 22:19




 
Переход