Batch Befehl Ausgabe in Variablen schreiben?

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.

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

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

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

0
@halloichbins098

...gute Frage, es scheint, als ob ausgabe während der Schleife nicht aktualisiert werden kann...

Batch, was soll der Unfug?

0

For-Befehl mit tokens und delims

Ich habe z.B. diesen Satz in einer Textdatei:

  • Hallo, mein Name lautet Olaf Günther.

Wie kann ich nun in einer Batch mit dem For-Befehl (und den tokens und delims) die Wörter Olaf und Günther in einer einzigen Variable speichern?

Ich habe ja an diese Variante gedacht:

  • FOR /F "tokens=5,6 delims= " %%a IN (temp.txt) do ECHO %%a

Jedoch zeigt er mit lediglich Olaf an (den 5. token), nicht aber den 6. (Günther). Weiß einer, was ich falsch mache?

...zur Frage

Wie kann in einem Batch File den Output unterdrücken?

Wenn ich z.B

echo Hi

eingebe, kommt noch der ganze Befehl + Pfad vor der eigentlichen Ausgabe?

Vielen Dank im voraus für eine Antwort

...zur Frage

bash script: case mit letzer Ausgabe überprüfen?

ich habe ein bash script mit find-befehl und will mit case jetzt rausfinden ob ein bestimmtes wort dann in der Ausgabe nach enter drücken vorkommt, doch wie genau geht das ??

quasi so :

find tmp.txt
case "ERSTE ZEILE" in
	".txt")
		echo "JA"
esac
...zur Frage

Batch Variablen zusammenfassen?

Ich habe eine Batch Datei geschrieben in welcher ein Benutzer mehrere Variablen eingeben soll. Diese Variablen möchte ich dann in einer .txt Datei speichern. Das Problem ist das die Variablen in extra zeilen gespeichert werden und nicht in derselben.Daher wollte ich eine weitere Variable erstellen die die anderen zusammenfasst. set /P Test=%Titel% %Name% %Email% echo "%Test%">>Speichern.txtIn der Datei Speichern.txt wird aber als Variable "Test" wieder eine eigene eingabe Verwendet und nicht die Variablen. Was muss ich anders machen?

...zur Frage

Batch-Datei Ordner Un- bzw. Sichtbar machen

Hey Leute kann mir jemand erklären wie ich eine Batch-Datei schreibe die zwischen zwei befehlen wechselt also 1 mal aufrufen befehl eins noch einmal befehl 2. usw.

Hier die Befehle

Verstecken:

@echo off

attrib +h D:\test

exit

Sichtbar:

@echo off

attrib -h D:\test

exit

...zur Frage

Was möchtest Du wissen?