Remove-Variable
Deletes a variable and its value.
Syntax
Remove-Variable
[-Name] <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Remove-Variable
cmdlet deletes a variable and its value from the scope in which it is defined,
such as the current session. You cannot use this cmdlet to delete variables that are set as
constants or those that are owned by the system.
Examples
Example 1: Remove a variable
Remove-Variable Smp
This command deletes the $Smp
variable.
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Specifies an array of items that this cmdlet omits from the operation. The value of this parameter qualifies the Name parameter. Enter a name element or pattern, such as "s*". Wildcards are permitted.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Indicates that the cmdlet removes a variable even if it is read-only. Even using the Force parameter, the cmdlet cannot remove a constant.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Specifies an array of items that this cmdlet deletes in the operation. The value of this parameter qualifies the Name parameter. Enter a name element or pattern, such as s*. Wildcards are permitted.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Name
Specifies the name of the variable to be removed. The parameter name (Name) is optional. Wildcards are permitted
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Scope
Gets only the variables in the specified scope. The acceptable values for this parameter are:
- Global
- Local
- Script
- A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent)
Local is the default. For more information, see about_Scopes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
You can pipe a variable object to Remove-Variable
.
Outputs
None
This cmdlet does not return any output.
Notes
Changes affect only the current scope, such as a session. To delete a variable from all sessions, add a
Remove-Variable
command to your PowerShell profile.You can also refer to
Remove-Variable
by its built-in alias,rv
. For more information, see about_Aliases.