2009-09-23 16 views
5

Typischerweise in Powershell würden Sie

verwenden
env:VARIABLE = "Some kind of value" 

Aber mein Problem ist, dass ich den Namen der Variablen in einem String-Objekt haben. Powershell erkennt es nicht als Zeichenfolgenobjekt und verwendet den Variablennamen als Namen der Umgebungsvariablen. Zum Beispiel, wenn ich dies tun: statt MY_ENV_VAR

$someVariable = "MY_ENV_VAR" 
env:$someVariable = "Some kind of value" 

Das Ergebnis ist $ somevariable wahrsten Sinne des Wortes als Umgebungsvariable definiert ist. Ich habe zahlreiche Wiederholungen der Verwendung von $ {} versucht, als ob es Perioden in der Zeichenkette gäbe, aber nichts, was ich gefunden habe, funktioniert. Wie kann ich Powershells Env verwenden: Verwenden eines String-Objekts?

Antwort

7

Die "Env" Laufwerk ist ein Anbieter so können Sie die * -Item Cmdlets auf sie zB verwendet werden:

New-Item env: \ $ somevariable -Value "irgendeine Art von Wert"

+0

Vielen Dank! – nathan

0

Set-Variable -Name $ someVariable -Value "Eine Art von Wert"

+1

Das funktioniert mit PowerShell-Variablen, aber ich glaube nicht, dass es für Umgebungsvariablen funktioniert. –

+0

Tatsächlich tut es das nicht. – Joey

+0

Yup, falsch gelesen die Frage :( –

Verwandte Themen