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