Kategorieauswahl

Powershell Variablen mit Befehlen belegen

Sie können in Powershell ganze Befehlsketten in Variablen ablegen, z. B. so:

$a=get-childitem

Dann wird allerdings zum Zeitpunkt der Variablendeklaration der Befehl ausgeführt und der Inhalt in der Variablen hinterlegt. Legt man also nun ein neues Verzeichnis an, ist dieses nicht in $a enthalten, da die Variable zuerst in Inhalt übergeben bekam und erst danach der neue Ordner erstellt wurde. Gibt man nun $a aus, fehlt der neu erstellte Ordner. Man kann allerdings auch Code in einer Variablen zum Zeitpunkt der Variablenabfrage ausführen lassen. Dazu müssen Sie den Code nur in geschweifte Klammern setzen und die Variable mit vorangestelltem Punkt abrufen. Also beispielsweise so:

$a={get-childitem}

Wenn Sie nun:

. $a

abrufen, wird der Inhalt der Variablen zum Zeitpunkt von der Angabe . $a als Code ausgeführt und enthält somit den aktuellen Stand des Verzeichnisses.

Auch interessant ist die Möglichkeit Befehle mit Variablen zu Befehlen zusammen zuschrauben.

$Verb="set"
&("$Verb-service")

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert