簡體   English   中英

批處理變量串聯的循環

[英]Batch variable concatenation for loop

我正在嘗試創建一個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”:“啟用”}

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

上面的方法最多將Node1 IP列出7次,如何使其遍歷節點列表? 我很了解%% C,但是我根本不知道在這種情況下如何應用它。

啟用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!
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM