2016-10-14 4 views
0

Ich versuche, eine for-Schleife zu erstellen, die einen bestimmten Bereich von Antworten ausgibt.Batch Variable Verkettung für Schleife

folgende Arbeiten Mit feinen:

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 

OUTPUT:

node01: { "123.123.123.100": "AKTIV" }

Node02: { „123.123 .123.200 ":" ENABLED " }

Node03: { "123.123.123.300": "AKTIV" }

Ich versuche jetzt ein for-Schleife zu erstellen, die von Knoten durch eine Liste überprüft:

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% 
) 

Die obigen Verfahren Listen die Node1 IP bis zu sieben Mal, wie kann ich es durch die Liste der Knoten Schleife machen? Ich kenne den %% C sehr gut, aber ich weiß einfach nicht, wie ich ihn in diesem Fall anwenden soll.

Antwort

1

Aktivieren der delayedexpansion und verwenden !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

Danke, das tat es! – luikstruik