Batch Befehl Ausgabe in Variablen schreiben?

... komplette Frage anzeigen

2 Antworten

Mit dem SETLOCAL-Befehl kannst du ermöglichen, eine Variable in einer FOR-Schleife mehrmals zu ändern. Um Zeilenumbrüche zu übernehmen, musst du sie extra mitschreiben lassen, unten z. B. über die LF-Variable. Die beiden Leerzeilen nach dem SET-Befehl sind dabei wichtig.

Setlocal EnableDelayedExpansion
set LF=^

FOR /F "delims=" %%A IN ('ipconfig') DO if "!Ausgabe!" == "" (set Ausgabe=%%A) ELSE (set Ausgabe=!Ausgabe!!LF!%%A)
echo.!Ausgabe!

Die IF-Unterscheidung verhindert, dass eine Leerzeile am Anfang von !Ausgabe! steht.

Du kannst !Ausgabe! nur als Zeichenfolge verwenden, sie ist syntaktisch unbrauchbar. Das bedeutet, du kannst auf diese Weise nicht mehrere Batchbefehle speichern und ausführen.

Antwort bewerten Vielen Dank für Deine Bewertung

Mit set überschreibst du es jedes Mal. Du musst es anhängen.

...wobei dabei wohl die Zeilenumbrüche hin wären.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von halloichbins098
26.04.2016, 16:46

Und wie hänge ich es hinten dran? Die zeilenumbrüche sind egal

0

Was möchtest Du wissen?