[DOS] Variable ändern

mfinkler
Goto Top
Hallo,

wie kann ich Variablen außerhalb einer cmd Sitzung setzen, z.B. hab ich folgende cmd:

echo %clientname%
set clientname=TEST
echo %clientname%


als Ausgabe bekomme ich wie erwartet TEST, wenn ich diese dann erneut ausführe bekomm ich zuerst allerdings wieder den alten Clientnamen. Ich würd gern die Variable für die komplette Sitzung ändern, hat jemand eine Idee?

Gruß

Content-Key: 29389

Url: https://administrator.de/contentid/29389

Ausgedruckt am: 14.08.2022 um 22:08 Uhr

Mitglied: docsam
docsam 31.03.2006 um 08:20:29 Uhr
Goto Top
Hi,

Du könntest unter Systemsteuerung/System/Erweitert/Umgebungsvariablen

die Dinge ändern. Dies ist imho aber permanent.

MfG
Mitglied: Biber
Biber 31.03.2006 um 08:26:55 Uhr
Goto Top
Moin Mfinkler,
wenn ich diese dann erneut ausführe bekomm ich zuerst allerdings wieder den alten ...
Demnach heißt wieder ausführen bei Dir, eine neue Instanz der CMD.exe starten, z.B. einen Doppelklick auf eine Batchdatei machen.

Dann musst du das Environment ändern, das jede CMD.exe bei Starten lädt. Dazu gibt es in den M$-ResKits eine SetX.exe, die das kann.

Also musst du schreiben
Set clientname=TEST (dann hat es die aktuelle CMD.exe-Instanz)
SetX clientname TEST ( dann hat es auch die nächste CMD.exe)

Allerdings gilt das dann nicht nur "für die ganze Session", also bis zum Abmelden, sondern immer bei diesem Benutzer.
Bis Du es wieder änderst.

In welchem Szenario kann Dein Vorgehen denn sinnvoll sein? *neugierig frag

Gruß Biber
Mitglied: Mfinkler
Mfinkler 31.03.2006 um 11:41:22 Uhr
Goto Top
setx geht auch nicht.
hab mir aber eben ein VB Programm geschrieben.

Es geht darum, dass die User (Citrix)Verbindungen trennen können und woanders wieder aufnehmen sollen. Da wir in unsrer Farm Printserver einsetzen, die den %clientname% mappen, muss der geändert werden.

Mein VB Programm schreibt allerdings nur in HKEY_C_U\Volatile Environment den richtigen Clientnamen in "CLIENTNAME", von dort lass ich ihn einfach wieder auslesen und arbeite mit dem weiter.

Ne andere Lösung hab ich nicht gefunden, und diese klappt super.

Gruß