2016-10-14 7 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 

OUTPUT:

Node01: { "123.123.123.100": "有効"}

とnode02: {「123.123 .123.200 ":" ENABLED " }

node03の:{ "123.123.123.300": を "有効"}これから作成しようとしている

ノードのリストをチェックするforループ:

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

上記方法リストノード7のIPを最大7回、どのようにノードのリストをループすることができますか?私は%% 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