997 Aufrufe
Gefragt in Windows 10 von
Hallo,
gibt es eine Möglichkeit, in einer Batchdatei eine Variable festzulegen und in einer anderen, die ebenfalls geöffnet ist, diese zu erkennen?

Es soll so ähnlich sein wie:

Batch1:
set/p variable="Text eingeben: "

Batch2:
@echo %variable%

Bitte schnelle Hilfe!

6 Antworten

0 Punkte
Beantwortet von
nein, du kannst keine Variable in zwei parallele geöffneten batches verwenden.
was aber geht ist die zweite Batch aus der ersten aufzurufen und den Variableninhalt zu übergeben

z.B.:
batch1.cmd
[code]set/p variable="Text eingeben: "
call batch2.cmd %variable%[/code]
batch2.cmd
[code]@echo %~1
pause[/code]
0 Punkte
Beantwortet von
[b]Hat sich erledigt![/b]

Es sieht jetzt so aus:

Test1.bat:
[code]setx variable wert[/code]
Test2.bat:
[code]@echo %variable%[/code]
0 Punkte
Beantwortet von
okay, an setx hab ich nicht gedacht
bedenke aber das eine mit setx gesetzte Variable auf Dauer im System als Umgebungsvariable existent bleibt
nicht weiter tragisch, sollte man aber wissen
0 Punkte
Beantwortet von
[b]Oder hat sich doch nicht erledigt...[/b]

Ich habe noch eine Frage:
Kann man auch in einem Fenster was eingeben, damit sich beide Fenster schließen?
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo,

im Prinzip kannst du natürlich eine weitere Umgebungsvariable setzen, deren Inhalt in jedem Batch prüfen und bei einem festgelegten Inhalt die Batch per exit verlassen.
Das setzt aber voraus, dass die Batch in einer Schleife läuft und die Variable immer wieder abfragt, sonst bekommt die Batch die Änderung der Variable nicht mit. Allerdings läuft die Batch dann permanent im Kreis und könnte etwas CPU-Last erzeugen.

Achte aber darauf, dass die Umgebungsvariable vor der Abfrage irgendwie definiert wurde, ndernfalls gibt es einen Syntaxfehler.

Gruß
computerschrat
0 Punkte
Beantwortet von hxr Einsteiger_in (53 Punkte)
Danke!!!
...