こんにちは、StackOverflow コミュニティです。
ここ数日間、私を悩ませているバッチの質問があります: スティング比較をしようとしています (単純に聞こえます) が、この方法で実行しています: SESSIONS と TARGETS の 2 つのフォルダーがあります。これらの各フォルダには、Server1.txt、Server2.txt、Server3.txt など、サーバーにちなんで名付けられた通常のテキスト ファイルがあります。両方のディレクトリには、まったく同じ名前のファイルがあります。ファイル名が重要なのは、それらを読んだ後に、そのファイルに含まれる情報をどこに割り当てるかがわかるからです。例:
セッション -->Server1.txt
Word_one
Word_two
Word_three
word_seven
TARGETS-->Server1.txt
Word_one
Word_two
Word_seven
これは、Sessions フォルダーと Targets フォルダーをトラバースするために使用しているコードです。
FOR %%a in (%ses_dir%*.txt) DO (
FOR /F "TOKENS=1 DELIMS= " %%c in (%%a) DO (
FOR %%f in (%targ_dir%*.txt) DO (
FOR /F "TOKENS=1 DELIMS= " %%i in (%%f) DO (
SET tmp_nam=%%~na
IF %%c EQU %%i ( ECHO This is Connected)
IF %%c NEQ %%i ( ECHO This is not Connected)
)
)
)
)
上記は、接続されているすべてのセッションと接続されていないすべてのセッションを出力します。基本的に、これは多くの冗長で役に立たない情報を出力します。次のようにしてほしい:
最初のファイルから 2 番目のファイルの文字列を見つけるたびに、そこで停止し、最初のファイルの次の文字列に移動します。2 番目のファイルで最初のファイルの文字列が見つからない場合。「文字列が見つかりません」またはそれらの行に沿って何かをエコーします。
私はできる限り説明的であるように努めました。他にご不明な点がありましたらお知らせください。
前もって感謝します!