Clear Content - PowerShell
Overview
The Clear-Content cmdlet removes the entire content of the specified file without deleting the file. It is most commonly used on files that frequently need to have their content refreshed, such as log files or temporary data files, without the need to recreate the file itself.
Syntax
Clear-Content [-Path] <String[]> [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
Options/Flags
- -Path: Specifies the path to the file whose content you want to clear. Accepts absolute or relative paths. If not provided, the current working directory is used.
- -Force: Forces clearing of the file’s content even if it is read-only. Use with caution.
- -WhatIf: Shows what would happen if the command was run without actually modifying any files.
- -Confirm: Prompts for confirmation before clearing the file’s content.
Examples
Simple Example: Clear the content of the file named “log.txt” in the current working directory:
Clear-Content log.txt
Complex Example: Forcefully clear the content of the read-only file “sensitive-data.txt” after confirmation:
Clear-Content -Path "sensitive-data.txt" -Force -Confirm
Common Issues
- File Not Found: Ensure that the path to the file is correct and that the file exists.
- Permission Denied: Verify that you have sufficient permissions to modify the file.
Integration
With Write-Output: Write new content to the cleared file:
Write-Output "New content" | Clear-Content -Path "new-file.txt"
With Get-ChildItem: Clear the content of all files in a directory:
Get-ChildItem -Path ".\logs\*.log" | Clear-Content
Related Commands
- New-Item: Creates a new file or directory.
- Remove-Item: Deletes a file or directory.
- Set-Content: Sets the content of a file.