1

Тема: CMD/BAT: массивы и сравнение элементов

Доброго времени суток. Данный вопрос задаю с целью самообучения и расширения знаний.
1) Можно ли в bat фале создать массив чисел и работать с определенными элементами?
2) Как сравнить числа на предмет "<" или ">"? (Я натыкаюсь только на примеры с проверкой  "==". Переводя на русский язык,  проверить какое число больше, а не проверить на равенство)

В пример могу привести такую постановочную задачу:  Необходимо создать массив из N чисел, и найти наименьший из всех элементов. Я понимаю, что подобную задачу не сложно решить в любом более менее серьезном языке программирования. Но интересно можно ли создать этот алгоритм на bat кодировках. Заранее огромное спасибо.

2

Re: CMD/BAT: массивы и сравнение элементов


echo off
set /a max=0
set /a min=0
set array=1 56 34 178 23 234 4 -5 -100 333 331
setlocal ENABLEDELAYEDEXPANSION
for %%x in (%array%) do (
    if %%x gtr !max! set /a max=%%x
    if %%x lss !min! set /a min=%%x
)
echo %max%
echo %min%
Я конечно далек от мысли... (с)

3

Re: CMD/BAT: массивы и сравнение элементов

В CMD нет массивов, но с переменными среды можно работать как с массивами.

Нет особых соглашений и ограничений на имя переменной среды. Поэтому можно дополнительно использовать не цифробуквенные символы для логического разделения частей имени переменной и рассматривать их как "имя массива" и "индекс".

Вот соответствующая тема - CMD/BAT: Массивы()

( 2 * b ) || ! ( 2 * b )