Filternde For Schleifen
Guten Morgen,
ich probiere grade eine Batch zu schreiben, welche aus einer .txt Zeilenweise Server;IP ausliest. Danach benötige ich eine weiter orschleife, welche mit genau diesen beiden Werten(pro Zeile) in einer anderen .txt sucht und auf Übereinstimmung prüft.
Die test.txt sieht so aus:
Meine Batch sieht in ca. so:
Habe erstmal probiert die beiden Werte auszugeben und verschiedene Dinge probiert, allerdings bekomme ich immer einen Syntaxfehler. Kann mir da jemand helfen?
ich probiere grade eine Batch zu schreiben, welche aus einer .txt Zeilenweise Server;IP ausliest. Danach benötige ich eine weiter orschleife, welche mit genau diesen beiden Werten(pro Zeile) in einer anderen .txt sucht und auf Übereinstimmung prüft.
Die test.txt sieht so aus:
Server1;1.2.3.4
Server2;2.3.4.5
Server3;3.4.5.6
Meine Batch sieht in ca. so:
set path=...\test.txt
for /F "tokens=1,2 delims=;" %%a %%b in %path% do echo %%a %%b
Habe erstmal probiert die beiden Werte auszugeben und verschiedene Dinge probiert, allerdings bekomme ich immer einen Syntaxfehler. Kann mir da jemand helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252819
Url: https://administrator.de/contentid/252819
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo crinaX,
wie wäre es mit
Du kannst Dir ja auch mal mein Tutorial zur FOR-Schleife anschauen.
Gruß
Friemler
wie wäre es mit
set "ServerName=%%a"
set "IPAddress=%%b"
Gruß
Friemler
Wenn Du zumindest den Abschnitt über die verzögerte Variablenerweiterung gelesen hast, solltest Du ja verstanden haben warum Dein Code
nicht funktioniert. Statt in Zeile 5
zu schreiben, könntest Du es ja mal mit
versuchen. Dabei aber nicht vergessen ein
Du hast aber auch die Möglichkeit, mit den in der
Weitere Gehirnaktivitäten überlasse ich im weiteren Deinen grauen Zellen.
Gruß
Friemler
FOR /F "tokens=1,2 delims=; " %%a in (%path%) do @(
echo %%a %%b
set "srv1=%%a"
set "ip1=%%b"
echo %srv1% %ip1% >> vari.txt
)
echo %srv1% %ip1% >> vari.txt
echo !srv1! !ip1! >> vari.txt
SetLocal EnableDelayedExpansion
am Anfang des Scripts einzufügen.Du hast aber auch die Möglichkeit, mit den in der
FOR
-Schleife gesetzten Variablen in einem Unterprogramm zu arbeiten. Ein Beispiel für diese Technik findet sich im Abschnitt "Praxistipps, Beispiel 5." in meinem Tutorial.Weitere Gehirnaktivitäten überlasse ich im weiteren Deinen grauen Zellen.
Gruß
Friemler