Clear-Variable
Löscht den Wert einer Variablen.
Syntax
Clear-Variable
[-Name] <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Clear-Variable
löscht die in einer Variablen gespeicherten Daten, löscht jedoch nicht die Variable. Daher ist der Wert der Variablen NULL (leer). Wenn die Variable über einen angegebenen Daten- oder Objekttyp verfügt, behält dieses Cmdlet den Typ des objekts bei, das in der Variablen gespeichert ist.
Beispiele
Beispiel 1: Entfernen des Werts globaler Variablen, die mit einer Suchzeichenfolge beginnen
Clear-Variable my* -Scope Global
Mit diesem Befehl wird der Wert von globalen Variablen entfernt, die Namen enthalten, die mit meinem Namen beginnen.
Beispiel 2: Löschen einer Variablen in einem untergeordneten Bereich, aber nicht im übergeordneten Bereich
$a=3
&{ Clear-Variable a }
$a
3
Diese Befehle veranschaulichen, dass das Löschen einer Variablen in einem untergeordneten Bereich den Wert im übergeordneten Bereich nicht löscht. Der erste Befehl legt den Wert der Variablen $a
auf 3 fest. Der zweite Befehl verwendet den Aufrufoperator (&
), um den befehl Clear-Variable
in einem neuen Bereich auszuführen. Die Variable wird im untergeordneten Bereich gelöscht (obwohl sie nicht vorhanden war), aber nicht im lokalen Bereich gelöscht.
Der dritte Befehl, der den Wert von $a
abruft, zeigt an, dass der Wert 3 nicht betroffen ist.
Beispiel 3: Löschen des Werts der angegebenen Variablen
Clear-Variable -Name "Processes"
Mit diesem Befehl wird der Wert der Variablen namens "Prozesse" gelöscht. Nachdem das Cmdlet den Vorgang abgeschlossen hat, ist die Variable mit dem Namen "Prozesse" noch vorhanden, der Wert ist jedoch NULL.
Parameter
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Exclude
Gibt ein Array von Elementen an, die dieses Cmdlet im Vorgang ausgelassen. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder ein Muster ein, z. B. "s*". Wildcards sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Force
Ermöglicht es dem Cmdlet, eine Variable zu löschen, auch wenn sie schreibgeschützt ist. Selbst bei Verwendung des Parameters Force kann das Cmdlet keine Konstanten löschen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Include
Gibt ein Array von Elementen an, die dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder ein Muster ein, z. B. "s*". Wildcards sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Name
Gibt den Namen der variablen an, die gelöscht werden soll. Wildcards sind zulässig. Dieser Parameter ist erforderlich, der Parametername Name ist jedoch optional.
Typ: | String[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-PassThru
Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Scope
Gibt den Bereich an, in dem dieser Alias gültig ist.
Die zulässigen Werte für diesen Parameter sind:
Global
Local
Script
Sie können auch eine Zahl relativ zum aktuellen Bereich verwenden (0 bis zur Anzahl der Bereiche, wobei 0 der aktuelle Bereich ist und 1 das übergeordnete Element ist). Lokal ist die Standardeinstellung. Weitere Informationen finden Sie unter about_Scopes.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den PassThru--Parameter verwenden, gibt dieses Cmdlet ein PSVariable--Objekt zurück, das die gelöschte Variable darstellt.
Hinweise
Windows PowerShell enthält die folgenden Aliase für Clear-Variable
:
clv
Verwenden Sie
Remove-Variable
oderRemove-Item
, um eine Variable zusammen mit ihrem Wert zu löschen.Dieses Cmdlet löscht nicht die Werte von Variablen, die als Konstanten oder im Besitz des Systems festgelegt werden, auch wenn Sie den Parameter Force verwenden.
Wenn die Variable, die Sie löschen, nicht vorhanden ist, hat das Cmdlet keine Auswirkung. Es wird keine Variable mit einem Nullwert erstellt.