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