2016-10-15 7 views
2

特定の出力(!出力!)に特定の文字列( "ENABLED")が含まれているかどうかを確認しようとしています。変数のバッチを見つける文字列

setlocal enabledelayedexpansion 
FOR /F %%C IN (%nodeFile%) DO (
set output=dashd-cli masternodelist status %%C 
!output! 
IF NOT "!output!"=="!output:ENABLED=!" (
    echo OFFLINE 
) 
) 
goto :done 

出力!ノードが実行されていない場合は

{ 
    "111.111.111.111:1111" : "ENABLED" 
} 

{ 
} 

を今、それはエコーしません

ノードが実行されている:それらのいずれかでありますノードが出力を表示していない間は、何も出力されません。つまり、文字列 "ENABLED"を見つけることができません。

+0

あなたの '%nodefile%'には何がありますか? – loadingnow

+0

IPアドレス+ポート、次のように: 111.111.111.111:1111、 222.222.222.222:2222、 333.333.333.333:3333など – luikstruik

+0

彼らは尋ねた最後の質問を見てみると、それは別々の行それぞれを含むリストでありますこれは '' 123.123.123.200:xxxx "'のように、最後のオクテットが異なっています。 – Compo

答えて

0

あなたはこのようなことをしたいですか?

@ECHO OFF 
FOR /F "USEBACKQ" %%a IN ("%nodeFile%") DO (
    dashd-cli masternodelist status %%a|Find "ENABLED"||(Echo= %%a - OFFLINE)) 
PAUSE 
+0

そうだと思います。その%% aをファイルに書き込むにはどうすればよいですか?このようなもの? 'dashd-cli masternodelist status %% a |" ENABLED "を検索||(エコー= %% a - オフライン)||(@echo %% a >> offline.txt))' – luikstruik

+0

私はそれを少なくとも持っていると思うそれは良い方法がない限り動作します。 'dashd-cli masternodelist status %% a | FIND" ENABLED "||(エコーオフライン)&&(@echo %% a >> offline.txt)' – luikstruik

関連する問題