Freigeben über


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 Clear-Variable-Cmdlet löscht die in einer Variablen gespeicherten Daten, aber 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 in der Variablen gespeicherten Objekts bei.

Beispiele

Beispiel 1: Entfernen des Werts von globalen Variablen, die mit einer Suchzeichenfolge beginnen

PS C:\> Clear-Variable my* -Scope Global

Mit diesem Befehl wird der Wert globaler Variablen entfernt, deren Namen mit my beginnen.

Beispiel 2: Löschen einer Variablen in einem untergeordneten Bereich, aber nicht im übergeordneten Bereich

PS C:\> $a=3
PS C:\> &{ Clear-Variable a }
PS C:\> $a
3

Diese Befehle veranschaulichen, dass durch das Löschen einer Variablen in einem untergeordneten Bereich der Wert im übergeordneten Bereich nicht gelöscht wird. Der erste Befehl legt den Wert der Variablen $A auf 3 fest. Der zweite Befehl verwendet den Aufrufoperator (&), um den Clear-Variable-Befehl in einem neuen Bereich auszuführen. Die Variable wird im untergeordneten Bereich gelöscht (obwohl sie nicht vorhanden war), aber nicht im lokalen Bereich. Der dritte Befehl, der den Wert von $A abruft, zeigt, dass der Wert 3 nicht betroffen ist.

Beispiel 3: Löschen des Werts der angegebenen Variablen

PS C:\> Clear-Variable -Name "Processes"

Dieser Befehl löscht den Wert der Variablen mit dem Namen Processes. Nachdem das Cmdlet den Vorgang abgeschlossen hat, ist die Variable mit dem Namen Processes weiterhin vorhanden, aber der Wert ist NULL.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Gibt ein Array von Elementen an, die dieses Cmdlet im Vorgang auslässt. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder -muster wie %%amp;quot;s*%%amp;quot; ein. Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Ermöglicht dem Cmdlet, eine Variable zu löschen, selbst wenn sie schreibgeschützt ist. Selbst bei Verwendung des Force-Parameters kann das Cmdlet keine Konstanten löschen.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Gibt ein Array von Elementen an, die dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder -muster wie %%amp;quot;s*%%amp;quot; ein. Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

Gibt den Namen der zu löschenden Variablen an. Platzhalter sind zulässig. Dieser Parameter ist erforderlich, aber der Parametername („Name“) ist optional.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-PassThru

Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Gibt den Bereich an, in dem dieser Alias gültig ist.

Zulässige Werte für diesen Parameter:

  • Global
  • Lokal
  • Skript

Sie können auch eine Zahl relativ zum aktuellen Bereich verwenden (0 bis zur Anzahl der Bereiche, wobei 0 der aktuelle Bereich und 1 sein übergeordneter Bereich ist). Lokal ist die Standardeinstellung. Weitere Informationen finden Sie unter „about_Scopes“.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

None

Objekte können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

None or System.Management.Automation.PSVariable

Wenn Sie den PassThru-Parameter verwenden, generiert dieses Cmdlet ein System.Management.Automation.PSVariable-Objekt , das die gelöschte Variable darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Hinweise

  • Verwenden Sie zum Löschen einer Variablen mit dem entsprechenden Wert Remove-Variable oder Remove-Item.

    Dieses Cmdlet löscht nicht die Werte von Variablen, die als Konstanten festgelegt sind oder sich im Besitz des Systems befinden, auch wenn Sie den Force-Parameter verwenden.

    Wenn die Variable, die Sie löschen, nicht vorhanden ist, hat das Cmdlet keine Auswirkungen. Es wird keine Variable wird mit dem Wert „null“ erstellt.

    Sie können auch auf Clear-Variable über den integrierten Alias clv verweisen. Weitere Informationen finden Sie unter %%amp;quot;about_Aliases%%amp;quot;.