For Schleife mit verkürzter Variable möglich?
Hi Leute,
hab da mal wieder ein Problem (sonst würde ich ja nicht posten), bei dem ich unbedingt Hilfe brauche.
Folgendes Szenario.
Der Code
soll aus jeder Zeile in der Textdatei die IP-Adresse auslesen und in eine neue Textdatei schreiben. Der Aufbau der Text-Datei:
Danke schon mal für eure Hilfe
Grüße EWG
hab da mal wieder ein Problem (sonst würde ich ja nicht posten), bei dem ich unbedingt Hilfe brauche.
Folgendes Szenario.
Der Code
For /F "tokens=1" %%i in (ausgabe.txt) do echo %%%i:~6,-26% >> ip.txt
soll aus jeder Zeile in der Textdatei die IP-Adresse auslesen und in eine neue Textdatei schreiben. Der Aufbau der Text-Datei:
.\tmp\171.32.1.1_StatusWindowsUpdate.txt: STATE : 1 STOPPED
.\tmp\171.32.1.2_StatusWindowsUpdate.txt: STATE : 1 STOPPED
.\tmp\171.32.1.3_StatusWindowsUpdate.txt: STATE : 1 STOPPED
Danke schon mal für eure Hilfe
Grüße EWG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 71296
Url: https://administrator.de/contentid/71296
Ausgedruckt am: 26.11.2024 um 10:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Einwegglas,
das Anwenden der Substring-Funktion ist nicht auf dynamische Variablen (also z.b. die Zählviablen einer FOR-Anweisung) möglich, sondern nur auf statische Variablen.
Das wiederum sind alle, die in irgendeiner Form mit "Set variable=Wert" angelegt sind.
Ob innerhalb oder außerhalb eines Setlocal-Blocks ist nebensächlich.
Für deinen Fall wären also die Möglichkeiten:
-oder-
Gruß
Biber
das Anwenden der Substring-Funktion ist nicht auf dynamische Variablen (also z.b. die Zählviablen einer FOR-Anweisung) möglich, sondern nur auf statische Variablen.
Das wiederum sind alle, die in irgendeiner Form mit "Set variable=Wert" angelegt sind.
Ob innerhalb oder außerhalb eines Setlocal-Blocks ist nebensächlich.
Für deinen Fall wären also die Möglichkeiten:
For /F "tokens=1" %%i in (ausgabe.txt) do call :MachWasMitI %%i
goto :eof
:MachWasMitI Parameter1 (%1) ist der Variablenwert von %%i
Set Var=%1
echo %var:~6,-26% >> ip.txt
goto :eof
-oder-
@echo off % setlocal enableDelayedExpansion
For /F "tokens=1" %%i in (ausgabe.txt) do set "Var=%%i" & echo !var:~6,-26! >> ip.txt
Gruß
Biber