2016-10-14 3 views
0

Я пытаюсь создать цикл for, который выводит определенный диапазон ответов.Конкатенация пакетной переменной для цикла

Используя следующие работы прекрасно:

echo Node1: 
dashd-cli masternodelist status 123.123.123.100 
echo. 
echo Node2: 
dashd-cli masternodelist status 123.123.123.200 
echo. 
echo Node3: 
dashd-cli masternodelist status 123.123.123.300 

ВЫВОД:

Node01: { "123.123.123.100": "ВКЛЮЧЕНО" }

node02: { «123,123 .123.200 ":" ENABLED " }

Node03: { "123.123.123.300": "ВКЛЮЧЕНО" }

Я сейчас пытаюсь создать цикл, который проверяет по списку узлов:

cls 
@echo off 
set nodeCount=7 
set Node1="111.111.111.111:1111" 
set Node2="222.222.222.222:2222" 
set Node3="333.333.333.333:3333" 
set Node4="444.444.444.444:4444" 
set Node5="555.555.555.555:5555" 
set Node6="666.666.666.666:6666" 
set Node7="777.777.777.777:7777" 

for /L %%C in (1,1,%nodeCount%) do (
echo Node%%C: 
dashd-cli masternodelist status %Node1% 
) 

Приведенные выше списки метод Node1 IP до семи раз, как я могу сделать это через список узлов? Я хорошо знаю %% C, но я просто не знаю, как применить его в этом случае.

ответ

1

Включите delayedexpansion и использовать !node%%C!:

cls 
@echo off 
setlocal enabledelayedexpansion 
set nodeCount=7 
set Node1="111.111.111.111:1111" 
set Node2="222.222.222.222:2222" 
set Node3="333.333.333.333:3333" 
set Node4="444.444.444.444:4444" 
set Node5="555.555.555.555:5555" 
set Node6="666.666.666.666:6666" 
set Node7="777.777.777.777:7777" 

for /L %%C in (1,1,%nodeCount%) do (
echo Node%%C: 
dashd-cli masternodelist status !Node%%C! 
) 
+0

Спасибо, что сделали это! – luikstruik

Смежные вопросы