
138701
03.04.2020
Lokale Variable belegen
Hallo zusammen,
Wie kann ich, wenn ich zwei cmd-Fenster geöffnet habe, von dem einen die Variablen des anderen verändern?
Wie kann ich, wenn ich zwei cmd-Fenster geöffnet habe, von dem einen die Variablen des anderen verändern?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 562890
Url: https://administrator.de/forum/lokale-variable-belegen-562890.html
Ausgedruckt am: 04.04.2025 um 05:04 Uhr
11 Kommentare
Neuester Kommentar
Es muss gehen. Nichts ist unmöglich.
Was nicht vorgesehen ist funktioniert halt nicht. Du kannst auch mit einem Benziner kein Diesel tanken obwohl beides doch Verbrennungsmotoren sind.Wenn du unbedingt willst kannst du den Umweg über die Registry nehmen. Dazu verwendest du in Kommandozeile #1 dann etwa sowas
Powershell -Command New-ItemProperty -Path "HKCU:\Environment" -Name "MeineVariable" -PropertyType STRING -Value "123"
Powershell -Command (Get-ItemProperty -Path "HKCU:\Environment").MeineVariable
Schön ist aber anders...
Zitat von @138701:
Es muss gehen. Nichts ist unmöglich. Die Variablen werden ja irgendwo auf dem Computer gespeichert. Bloß wo (RAM), und wie kann man seinen Inhalt verändern?
Dummes Geschwätz, sorry. Naja, heute ist Freitag.Es muss gehen. Nichts ist unmöglich. Die Variablen werden ja irgendwo auf dem Computer gespeichert. Bloß wo (RAM), und wie kann man seinen Inhalt verändern?
Was du machen kannst, ist in der ersten Eingabeaufforderung (cmd.exe) die Umgebungsvariable in eine Datei speichern. In der zweiten Eingabeaufforderung (cmd.exe) die Datei einlesen.
Oder die Umgebungsvariable in der Registry ablegen und wieder auslesen.
Gruss Penny.

Das ging früher mal hiermit
Dynamically Add/Edit Environment Variables of Remote Process
Inzwischen sind die Sicherheitsmaßnahmen des Betriebssystems natürlich drastisch erhöht worden so dass ein Verändern des Speichers einer anderen Anwendung nicht mehr so einfach machbar ist, aus gutem Grund!.
Wenn man möchte das sich zwei Anwendungen untereinander unterhalten können sollen, greift man in der Regel zu Named- oder Anomymous-Pipes
How to: Use Named Pipes for Network Interprocess Communication
Dynamically Add/Edit Environment Variables of Remote Process
Inzwischen sind die Sicherheitsmaßnahmen des Betriebssystems natürlich drastisch erhöht worden so dass ein Verändern des Speichers einer anderen Anwendung nicht mehr so einfach machbar ist, aus gutem Grund!.
Wenn man möchte das sich zwei Anwendungen untereinander unterhalten können sollen, greift man in der Regel zu Named- oder Anomymous-Pipes
How to: Use Named Pipes for Network Interprocess Communication
Wenn ich es richtig verstanden habe macht das Tool aber was völlig anderes. Es soll wohl in der Lage sein einem Process P1 eine Variable V mit dem Wert W1 zu übergeben und einem gleichzeitig laufenden Prozess P2 die Variable V mit dem Wert W2.
Der TO hat hat aber zweimal den Prozess cmd.exe. Und selbst wenn er jetzt auf die Idee kommen würde einfach eine cmd1.exe und eine cmd2.exe zu haben ändert das nichts an der Tatsache, dass der Kommandointerpreter nur einmal und - und zwar beim Start - die Inhalte der Umbegungsvariablen einliest und daher von einer danach stattfindenden Änderung der Variablen und Werte nichts mitbekommt.
Aber er ist sich ohnehin sicher, dass es einen Weg gibt...
Der TO hat hat aber zweimal den Prozess cmd.exe. Und selbst wenn er jetzt auf die Idee kommen würde einfach eine cmd1.exe und eine cmd2.exe zu haben ändert das nichts an der Tatsache, dass der Kommandointerpreter nur einmal und - und zwar beim Start - die Inhalte der Umbegungsvariablen einliest und daher von einer danach stattfindenden Änderung der Variablen und Werte nichts mitbekommt.
Aber er ist sich ohnehin sicher, dass es einen Weg gibt...

Hatte den Beitrag oben noch ergänzt.
Das Tool konnte damals tatsächlich die Environment Variables eines anderen Prozesses hinzufügen und ändern, ist aber inzwischen nicht mehr ohne ergeblichen Aufwand und Exploits möglich.
Für Interprocess Communication gibt es ja heute aber einige Auswahl (s. oben). Wer dafür noch mit Batch rum krabbelt kann sich gleich in den Sarg legen
.
Das Tool konnte damals tatsächlich die Environment Variables eines anderen Prozesses hinzufügen und ändern, ist aber inzwischen nicht mehr ohne ergeblichen Aufwand und Exploits möglich.
Für Interprocess Communication gibt es ja heute aber einige Auswahl (s. oben). Wer dafür noch mit Batch rum krabbelt kann sich gleich in den Sarg legen