PowerShell: Clear-Variable & Remove-Variable
Wie auch in anderen Programmiersprachen oder Scriptsprachen verwendet man in PowerShell Variablen zum speichern von Werten. Oft muss man aber eine oder mehrere Variablen leeren. Hierzu bietet sich das Cmdlet Clear-Variable an. Werden Variablen gar nicht mehr benötigt, so kann man diese auch komplett löschen mit Remove-Variable.
In einem früheren Beitrag haben wir übrigens auch schon den Unterschied zwischen $NULL
und einer leeren Variable mit ""
erklärt: https://www.itnator.net/variable-null-und-als-leere-variable-in-powershell/
Variable leeren mit Clear-Variable
Die einfachste Möglichkeit eine Variable zu leeren, ist das Zuweisen eines leeren Strings. Allerdings gibt es in einem PowerShell Script auch eine vornehmere Lösung, die auch Vorteile bietet. Das Cmdlet Clear-Variable hilft ganz einfach, den Wert einer Variable zu löschen, so dass diese leer ist.
Um nun den Inhalt einer Variable zu löschen, wird das Cmdlet Clear-Variable und die gewünschte Variable angegeben. Wichtig ist hierbei, dass diese OHNE Dollar-Zeichen ($) angegeben wird. Hier ein Beispiel dazu:
$myVar1 = "Test1" $myVar2 = "Test2" $myVar3 = "Test3" cls write-host "Inhalt der ersten Variable: $myVar1" Clear-Variable myVar1 write-host "Variable wird geleert..." write-host "Inhalt der ersten Variable: $myVar1"
Als Ausgabe in PowerShell erhält man zuerst den Inhalt der ersten Variable ausgegeben, danach wird diese mit Clear-Variable geleert.
Inhalt der ersten Variable: Test1 Variable wird geleert... Inhalt der ersten Variable:
PowerShell: Mehrere Variablen leeren
Mit Clear-Variable ist es sogar möglich mehrere Variablen gleichzeitig zu leeren. Der wohl einfachste Weg ist diese nacheinander mit einem Komma getrennt anzugeben.
Clear-Variable myVar1,myVar2
Eine weitere nette Lösung ist, dass Clear-Variable sogar den PowerShell Operator -like
unterstützt. Das bedeutet, dass mit einem Sternchen * der Inhalt von gleichnamigen Variablen gelöscht werden kann.
Clear-Variable myVar*
Variable löschen mit Remove-Variable
Das einfache Leeren von einzelnen oder mehreren Variablen haben wir bereits besprochen. In der Regel reicht das auch aus. Möchte man nun ganz sauber entwickeln, so kann man auch Variablen komplett löschen, sobald diese nicht mehr benötigt werden. Hier hilft in PowerShell das Cmdlet Remove-Variable.
Remove-Variable myVar1
Synchron zu Clear-Variable wird in PowerShell bei Remove-Variable diese ohne $-Zeichen angegeben. Zunächst möchten wir euch aber an einem Beispiel zeigen, wie dieses Cmdlet in einem PowerShell Script verwendet wird. Werden Variablen nicht komplett gelöscht, so stehen diese zur Auswahl:
Löscht man nun mit Remove-Variable eine gewünschte Variable in Powershell, so steht diese nicht mehr zur Verfügung. In der ISE ist dies wieder deutlich zu sehen:
PowerShell: Mehrere Variablen löschen
Auch wie in bei Clear-Variable ist es bei Remove-Variable möglich, mehrere Variablen anzugeben und somit komplett löschen zu lassen. In einem PowerShell Script wird erst wieder das Cmdlet und danach die gewünschten Variablen angegeben:
Remove-Variable myVar1,myVar2
Auch hier kann man mit dem Wildcard Operator * gleichzeitig alle gleichnamigen Variablen löschen lassen. Die Vorgehensweise ist in PowerShell immer gleich:
Remove-Variable myVar*