Clear-Item

 

SYNOPSIS

Deletes the contents of an item, but does not delete the item.

 

SYNTAX

Clear-Item [-path] <string[]> [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-force] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]

 

Clear-Item [-literalPath] <string[]> [-include <string[]>] [-exclude <string[]>] [-filter <string>] [-force] [-credential <PSCredential>] [-whatIf] [-confirm] [<CommonParameters>]

 

DETAILED DESCRIPTION

The Clear-Item cmdlet deletes the value of an item, but does not delete the item. For example, Clear-Item can delete the value of a variable, but it does not delete the variable. The value that used to represent a cleared item is defined by each Windows PowerShell provider.  Clear-Item is similar to Clear-Content, but works on aliases and variables, instead of files.

 

PARAMETERS

 

-path <string[]>

Specifies the path to the items being cleared. Wildcards are permitted. This parameter is required, but the parameter name ("-Path") is optional.

 

Required?

true

Position?

1

Default value

N/A - The path must be specified

Accept pipeline input?  

true (ByValue, ByPropertyName)

Accept wildcard characters? 

true

 

-include <string[]>

Clears only the specified items. The value of this parameter qualifies the Path parameter. Enter a path element or pattern, such as "*.txt". Wildcards are permitted.

 

Required?

false

Position?

named

Default value

 

Accept pipeline input?  

false

Accept wildcard characters? 

true

 

-exclude <string[]>

Omits the specified items. The value of this parameter qualifies the Path parameter. Enter a path element or pattern, such as "*.txt". Wildcards are permitted.

 

Required?

false

Position?

named

Default value

 

Accept pipeline input?  

false

Accept wildcard characters? 

true

 

-filter <string>

Specifies a filter in the provider's format or language. The value of this parameter qualifies the Path parameter. The syntax of the filter, including the use of wildcards, depends on the provider. Filters are more efficient than other parameters, because the provider applies them when retrieving the objects, rather than having Windows PowerShell filter the objects after they are retrieved.

 

Required?

false

Position?

named

Default value

 

Accept pipeline input?  

false

Accept wildcard characters? 

false

 

-force <SwitchParameter>

Overrides restrictions that prevent the command from succeeding, just so the changes do not compromise security. For example, Force will override the read-only attribute or create directories to complete a file path, but it will not attempt to change file permissions.

 

Required?

false

Position?

named

Default value

False

Accept pipeline input?  

false

Accept wildcard characters? 

false

 

-credential <PSCredential>

Uses a credential to validate access to the file. <Credential> represents a user-name, such as "User01" or "Domain01\User01", or a PSCredential object, such as the one retrieved by using the Get-Credential cmdlet. If you type a user name, you will be prompted for a password. This parameter appears, but it is not supported in any Windows PowerShell core cmdlets or providers.

 

Required?

false

Position?

named

Default value

 

Accept pipeline input?  

true (ByPropertyName)

Accept wildcard characters? 

false

 

-literalPath <string[]>

Specifies the path to the items being cleared. Unlike Path, the value of LiteralPath is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.

 

Required?

true

Position?

1

Default value

 

Accept pipeline input?  

true (ByPropertyName)

Accept wildcard characters? 

false

 

-whatIf

Describes what would happen if you executed the command without actually executing the command.

 

Required?

false

Position?

named

Default value

 

Accept pipeline input?  

false

Accept wildcard characters? 

false

 

-confirm

Prompts you for confirmation before executing the command.

 

Required?

false

Position?

named

Default value

 

Accept pipeline input?  

false

Accept wildcard characters? 

false

 

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. For more information, type, "get-help about_commonparameters".

 

INPUT TYPE

Any Object

 

RETURN TYPE

none

 

NOTES

 

For more information, type "Get-Help Clear-Item -detailed". For technical information, type "Get-Help Clear-Item -full".

 

 When specifying multiple values for a parameter, use commas to separate the values. For example, "<parameter-name> <value1>, <value2>".

 

The Clear-Item cmdlet is supported only by several Windows PowerShell providers, including the Alias, Environment, Function, Registry, and Variable providers. As such, you can use Clear-Item to delete the content of items in the provider namespaces.

 

You cannot use Clear-Item to delete the contents of a file, because the Windows PowerShell FileSystem provider doesn't support this cmdlet. To clear files, use Clear-Content.

 

You can also refer to Clear-Item by its built-in alias, "cli". For more information, type "get-help About_Alias".

 

EXAMPLE 1

 

clear-item Variable:TestVar1

 

This command deletes the value of the variable, Testvar1. The variable remains and is valid, but its value is set to null.

 

The variable name is prefixed with "Variable:" to indicate the PowerShell Variable provider. To get the same result, you can switch to the PowerShell Variable provider namespace first and then perform the Clear-Item command.

 

PS C:> Set-location Variable:

PS Variable:\> clear-item Testvar1

 

EXAMPLE 2

 

clear-item Alias:dog* -include *1* -exclude *3* -whatif

 

This command asks PowerShell what would happen if you executed the command, "clear-item variable:dog* -include *1* -exclude *3". In response, Windows PowerShell explains that it would delete the value of dog1:

 

"What if: Performing operation "Clear Item" on Target "Item: dog1"."

 

This command would not have any effect on dog, dog2, or dog 13. Because the Alias provider does not permit an alias without a aliased object, when you clear an alias, you also delete the alias.

 

EXAMPLE 3

 

clear-item registry::HKLM\Software\MyCompany\MyKey -confirm

 

This command deletes all registry entries in the MyKey subkey, but only after prompting you to confirm your intent. It does not delete the MyKey subkey or affect any other registry keys or entries. You can use the Include and Exclude parameters to identify particular registry keys, but you cannot use them to identify registry entries. To delete particular registry entries, use Remove-Itemproperty. To delete the value of a registry entry, use Clear-ItemProperty.

 

RELATED LINKS

Copy-Item

Get-Item

Invoke-Item

Move-Item

Set-Item

New-Item

Remove-Item

Rename-Item

about_namespace