Drucken Sie Werte mit einer For-Schleife, aber filtern Sie bestimmte Werte ohne den Befehl findstr

Drucken Sie Werte mit einer For-Schleife, aber filtern Sie bestimmte Werte ohne den Befehl findstr

Das von mir verwendete Batch-Skript enthält diesen Code:

@echo off & setLocal enableDELAYedeXpansioN

for /L %%a in (0 1 10) do (
for /L %%b in (1 1 10) do (
set X=%%a%%b
echo. !X!
)) >>newfile.txt

rem ----> findstr /V "11 22 33 44 55 66" ABCD.txt > outfile.txt

Hier ist, was die obigen Ausgaben in die Datei

11
12
13
.
.
.
98
99

Mein Problem besteht darin, dass ich in der Textdatei keine doppelten Zahlen oder Werte wie (11,22,33...) sehen möchte, wenn die Variablen der ersten und der zweiten Schleife identisch sind.

Ich kann findstreinen Befehl in die Mischung einfügen (im Skript auskommentieren), um ihn in der zweiten neuen Textdatei zu filtern, aber ich möchte sehen, ob dies nur mit For-Schleifen möglich ist?

Ich meine, das echo. !X!zeigt Ergebnisse an, die ich !X!in eine weitere For-Schleife einfügen möchte, die prüft , ob es oder oder !X!enthält ... Ich brauche es, um einfach diese Werte (dieselben) zu überspringen und mit den verbleibenden Werten in der Textdatei fortzufahren, die in beiden Schleifen nicht gleich sind.112255echo.

Antwort1

Natürlich können Sie einige einfache Bedingungssätze verwenden.IF NOTund sagen Sie ihm, ob die erste FOR /LVariable von %%agleich dem Wert der zweiten FOR /LVariable von ist, %%bum nichtechozur Ausgabedatei.

Ich habe auch die >>Anfügeumleitung an echodie %X%Variable innerhalb der Schleife eingefügt, um sicherzustellen, dass sie wie erwartet an die richtigen Werte aus den Schleifen angefügt wird. Zusätzlich habe ich die anfängliche Logik oben eingefügt, IF EXIST newfile.txt DEL /Q /F newfile.txtsodass sie, falls sie vor dem Lauf vorhanden ist, zuerst gelöscht wird.

@ECHO ON
setlocal enabledelayedexpansion

IF EXIST newfile.txt DEL /Q /F newfile.txt
for /L %%a in (0 1 10) do ( 
    for /L %%b in (1 1 10) do ( 
        IF NOT %%a==%%b set X=%%a%%b
        echo. !X! >>newfile.txt
)) 

Beispielausgabe


Weitere Ressourcen

verwandte Informationen