![]() |
Помогите разобраться с циклом
Ребят подскажите. Есть такая задача:
Есть набор компьютеров от 1 до 200. Каждому компьютеру надо присвоить некий номер, назовём его условно id в диапазоне от 5 до 7 в таком порядке Код:
Если компьютер 1 то id присвоить 5 Знаю что такое можно сделать через цикл, подскажите пример как это можно сделать. |
Каков принцип присвоения id (каким условиям должен отвечать компьютер для присвоения конкретного id)? Куда этот id должен записываться?
|
Опишу проще. Как сделать следующею картину?
Код:
Если a=1 тогда переменной b присвоить 5 |
Код:
@Echo Off Код:
@Echo Off |
Megaloman большое спасибо что ответили. Почти так, только первую переменную "а" надо проверять. К примеру я чуть выше в переменную "а" запишу некое значение, например set a=8. И по этому значению и надо присвоить значение переменной "b". То есть если взять пример
Код:
Если a=1 тогда переменной b присвоить 5 |
Цитата:
Код:
@Echo Off Или я что-то не догоняю в постановке задачи? :o Кстати, для числовых данных я Вам настоятельно советую писать не, например set a=8, а например set /A a=8 Это избавит Вас от возможных ошибок типа определения переменной с концевыми пробелами, если они случайно присутствуют. Если не нужно, но очень хочется, вот и цикл с условиями
Код:
@Echo Off |
По ip адресу я получаю переменную comp. А дальше мне в конфиг надо прописывать нужный мне параметр. Но проблема в том, что компьютеров десятки и десятки, а параметров всего 20. Поэтому я решил эту проблему так:
Код:
if "%comp%"=="1" ( |
Ей богу, обидно, так старался в предыдущем решении, но Вы не осознали его рациональное зерно: надо лениться такие задачи решать в лоб, надо почухать потылицу и написать формулу: Вы получаете переменную %comp% которая однозначно пересчитывается в %a%, и не надо никаких циклов (если хочется цикл, флаг в руки, можно написать, слегка изменив предыдущий код) и никаких проверок значений. Отличие от предыдущего в том, что в первом случае у Вас было 3 значения, а здесь Вы потребовали 4 (то есть изменили постановку задачи)
Код:
@Echo Off То есть вместо бесконечного числа строк кода напишИте 1 Цитата:
Гораздо интереснее задача: если comp сопоставляется с %a% нерегулярным образом в соответствии с заданным порядком.
Код:
@Echo Off |
Andrei_IW, Извините за оффтоп, решил Вашу задачу в общем виде:
Пусть %comp% принимает значения от 1 до любого числа с шагом 1 Пусть %а% может принимать значения от %N1% до %N2% c шагом 1 Последовательность чисел %a% укладывается циклически в последовательность %comp% Тогда формула для пересчета (сразу написал в виде кода) имеет вид (для примера взял данные из Вашего последнего поста): Код:
@Echo Off |
megaloman вот это голова! Я ход ваших мыслей уловил, теперь по вашему примеру запилю остальное. Спасибо большое!!!
|
Время: 13:17. |
Время: 13:17.
© OSzone.net 2001-