Delete all the contents of a file without deleting the file itself.
Syntax
Clear-Content [ [-path] | -literalPath ] string[]
[-include string[]] [-exclude string[] ]
[-filter string] [-force] [-credential PSCredential] [-whatIf]
[-confirm] [-UseTransaction] [CommonParameters]
Clear-Content [-Stream string] [CommonParameters] (PowerShell 3.0+)
Key
-path string[]
The paths to the items (not containers) from which content is deleted.
Wildcards are permitted.
e.g., you may specify a path to one more files, but not a path to a folder.
-literalPath string[]
Like Path above, only the value is used exactly as typed.
No characters are interpreted as wildcards. If the path includes any
escape characters then enclose the path in single quotation marks.
-include string[]
Clear only the specified items. e.g. "*.txt"
The value of this parameter qualifies the -Path parameter.
-exclude string[]
Omit the specified items. e.g. "*.txt"
The value of this parameter qualifies the -Path parameter.
-filter string
A filter in the provider's format or language.
The value of this parameter qualifies the -Path parameter.
The exact syntax of the filter (wildcard support etc) depends on the provider.
Filters are more efficient than -include/-exclude, because the provider
applies the filter when retrieving the objects, rather than having
PowerShell filter the objects after they are retrieved.
-Stream string
Delete the content in the specified alternate data stream, but do not delete
the alternate data stream. Enter the stream name. Wildcards are not supported.
-Stream is a dynamic parameter that the FileSystem provider adds to the
Set-Content cmdlet. This parameter works only in file system drives.
You can use Clear-Content to clear the content of an alternate data stream. However,
it is not the recommended way to eliminate security checks that block files
that are downloaded from the Internet.
If you verify that a downloaded file is safe, use Unblock-File.
-force SwitchParameter
Override restrictions that prevent the command from succeeding, apart
from security settings. e.g. Force will create file path directories
or override a files read-only attribute, but will not change file permissions.
-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 using Get-Credential.
This parameter is not supported by any providers installed with PowerShell.
-whatIf
Describe what would happen if you executed the command without actually
executing the command.
-confirm
Prompt for confirmation before executing the command.
-UseTransaction
Include the command in the active transaction.
CommonParameters
-Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction,
-WarningVariable, -OutBuffer and -OutVariable
Standard Aliases for Clear-Content: clc
Example
Delete the content of all files in the temp directory with the ".log" file name extension,
PS C:> clear-content c:\Temp\* -filter *.log
Delete the content of all files in the temp directory with the ".log" file name extension, unless the file name includes "ERR", then display what this command would do without actually changing anything (-whatif):
PS C:> Clear-Content c:\Temp\* -Include *.txt -Exclude *ERR* -WhatIf
"A matter that becomes clear ceases to concern us" ~ Nietzsche
Related PowerShell Cmdlets:
Clear-Item is similar to Clear-Content, but works on aliases and variables instead of files.
Add-Content - Add to the content of the item
Equivalent bash command: $null|cat> file_to_zero.txt