EQU - GLEICH - BATCH
Hallo,
im nachfolgendem Batch:
GTR mit EQU ersetzen, also EQU Mustermann OR Musterfrau OR Fraumuster.
Also wenn in %%r der Wert gleich Mustermann OR Musterfrau OR Fraumuster dann sollen die Werte aus der jeweiligen Spalte geschrieben werden.
Nun möchte ich aber noch gerne, dass er neben der oberen Prüfung eine weitere Prüfüng in Spalte a vornimmt. Gleich Max OR Maria OR Erika.
Geht sowas?
Beste Grüße,
freahman2017
im nachfolgendem Batch:
@echo off &setlocal
set"quelle=%userprofile%\Desktop\TEST\quelle.csv"
set "ziel=%userprofile%\Desktop\TEST\ziel.txt"
>"%ziel%" (for /f "usebackq skip=1 tokens=1-21 delims=," %%a in ("%quelle%") DO if %%r GTR 0 echo|set /p="Kopf;Rechnung;%%d;Daten;R-1;%%r;Ja;%%l;%%m;;;;;;;;;%%b;%%j;%%k;")
GTR mit EQU ersetzen, also EQU Mustermann OR Musterfrau OR Fraumuster.
Also wenn in %%r der Wert gleich Mustermann OR Musterfrau OR Fraumuster dann sollen die Werte aus der jeweiligen Spalte geschrieben werden.
Nun möchte ich aber noch gerne, dass er neben der oberen Prüfung eine weitere Prüfüng in Spalte a vornimmt. Gleich Max OR Maria OR Erika.
Geht sowas?
Beste Grüße,
freahman2017
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 338454
Url: https://administrator.de/forum/equ-gleich-batch-338454.html
Ausgedruckt am: 05.04.2025 um 01:04 Uhr
9 Kommentare
Neuester Kommentar

Also wenn in %%r der Wert gleich Mustermann OR Musterfrau OR Fraumuster dann sollen die Werte aus der jeweiligen Spalte geschrieben werden.
echo(%%r | findstr /i "^Mustermann$ ^Musterfrau$ ^FrauMuster$" >nul 2>&1 && (
REM Found, do something
) || (
REM Not found, do
something else
)
Nun möchte ich aber noch gerne, dass er neben der oberen Prüfung eine weitere Prüfüng in Spalte a vornimmt. Gleich Max OR Maria OR Erika.
Selbes Schema, s.o.https://ss64.com/nt/findstr.html
Gruß

Ja nee min jung, das muss alles in die For-Schleife denn woher sollte sonst die Variable %%r kommen?!

@echo off &setlocal
set"quelle=%userprofile%\Desktop\TEST\quelle.csv"
set "ziel=%userprofile%\Desktop\TEST\ziel.txt"
>"%ziel%" (for /f "usebackq skip=1 tokens=1-21 delims=," %%a in ("%quelle%") DO (
echo(%%r| findstr /i "^Mustermann$ ^Musterfrau$ ^FrauMuster$" >nul 2>&1 && (
echo(%%a| findstr /i "^Max$ ^Maria$ ^Erika$" >nul 2>&1 && (
echo(Kopf;Rechnung;%%d;Daten;R-1;%%r;Ja;%%l;%%m;;;;;;;;;%%b;%%j;%%k;
)
)
))
Nur noch mal so hinterher geschoben ...
Ich weiß nicht wie lang die Liste ist, die du verarbeitest, aber FINDSTR ist ein externes Programm (findstr.exe). Wenn du das für jeden Datensatz gleich zweimal aufrufst, dann dauert das von jetzt bis unendlich.
IF mit logisch verknüpften Bedingungen (OR und AND) in Batch
Grüße
rubberman
Ich weiß nicht wie lang die Liste ist, die du verarbeitest, aber FINDSTR ist ein externes Programm (findstr.exe). Wenn du das für jeden Datensatz gleich zweimal aufrufst, dann dauert das von jetzt bis unendlich.
IF mit logisch verknüpften Bedingungen (OR und AND) in Batch
Grüße
rubberman