Text Zeilenweise auslesen und variable überprüfen
Moin Moin,
ich habe eine Textdatei mit folgendem Inhalt:
ich möchte jetzt gerne die beiden Werte, die von einem Leerzeichen getrennt sind mit einer FOR-Schleife einlesen und dann mit IF eine der Variablen überprüfen, ob "(RX,W)" enthalten ist. Sollte die Überprüfung positiv sein soll ein weiterer Befehl ausgeführt werden.
Ich habe folgendes versucht:
Dies erst einmal nur zum testen. Hier scheint er über das && nicht hinauszukommen.
Das gleich habe ich auch schon mit FIND und FINDSTR versucht. Hier scheint er aber die Variable %%j nicht interpretieren zu können. Er möchte hier immer irgendwie ein Textdokument haben.
Würde mich freuen ein paar Anregungen zu bekommen und Danke im Voraus.
Bruendl
ich habe eine Textdatei mit folgendem Inhalt:
"C:\[Pfad]" DOMÄNE\user:(I)(RX,W)
.....
.....
usw.
ich möchte jetzt gerne die beiden Werte, die von einem Leerzeichen getrennt sind mit einer FOR-Schleife einlesen und dann mit IF eine der Variablen überprüfen, ob "(RX,W)" enthalten ist. Sollte die Überprüfung positiv sein soll ein weiterer Befehl ausgeführt werden.
Ich habe folgendes versucht:
FOR /F "tokens=1,2" %%i in (out.txt) DO IF "%%j"=="*(RX,W)" && echo gefunden > habs.txt
Das gleich habe ich auch schon mit FIND und FINDSTR versucht. Hier scheint er aber die Variable %%j nicht interpretieren zu können. Er möchte hier immer irgendwie ein Textdokument haben.
Würde mich freuen ein paar Anregungen zu bekommen und Danke im Voraus.
Bruendl
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 259945
Url: https://administrator.de/contentid/259945
Ausgedruckt am: 26.11.2024 um 16:11 Uhr
11 Kommentare
Neuester Kommentar
findstr /ie "(RX,W)" "C:\out.txt" && echo Gefunden || echo Nicht gefunden
und was machst du wenn dein Pfad Leerzeichen enthält :-P
ansonsten musst du die Anführungszeichen als Delimiter benutzen ...
ansonsten musst du die Anführungszeichen als Delimiter benutzen ...
Zitat von @Bruendl:
Danke ich teste das gleich mal aus. Bzgl. der Leerzeichen in meinem Textdokument sind alle Pfade in "".
Das bringt hier aber nix Danke ich teste das gleich mal aus. Bzgl. der Leerzeichen in meinem Textdokument sind alle Pfade in "".
Mit den Anführungszeichen als Trenner etwa so
for /f tokens^=1^,2^ delims^=^" %%i in (out.txt) DO @(
echo %%j| findstr /ie "(RX,W)" >nul && echo %%i
)
Zitat von @Bruendl:
Achso ...
Ich dachte, dass wenn ich keinen Delimter setze diese standardmäßig ein Leerzeichen ist. Und wenn ich jetzt bspw.
"C:\test test\test.txt" habe, dann wird das nicht so in %%i gespeichert?
Achso ...
Ich dachte, dass wenn ich keinen Delimter setze diese standardmäßig ein Leerzeichen ist. Und wenn ich jetzt bspw.
"C:\test test\test.txt" habe, dann wird das nicht so in %%i gespeichert?
Nope ...
In deinem Beispiel wären dann in %%i
"C:\test
Und in %%j
test\test.txt"
Siehe Lösung oben mit Anführungszeichen als Trenner
sorry da waren noch ein paar Fehler drin denn das Anführungszeichen ist als speziell zu betrachten:
for /f tokens^=1^,2^ delims^=^" %%i in (out.txt) DO @(
echo %%j| findstr /ie "(RX,W)" >nul && echo %%i
)