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
Please also mark the comments that contributed to the solution of the article
Content-Key: 338454
Url: https://administrator.de/contentid/338454
Printed on: April 25, 2024 at 06:04 o'clock
9 Comments
Latest comment
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