Remove-ProjectFiles
Removes specific files and folders from a project directory with safety features.
Syntax
Remove-ProjectFiles
[-BackupDirectory <String>]
[-CreateBackups]
[-DeleteMethod <RemoveItem| DotNetDelete| RecycleBin>]
[-ExcludeDirectories <String[]>]
[-ExcludePatterns <String[]>]
[-Internal]
[-MaxDepth <Int32>]
[-PassThru]
-ProjectPath <String>
[-ProjectType <Build| Logs| Html| Temp| All>]
[-Recurse]
[-Retries <Int32>]
[-ShowProgress]
[<CommonParameters>]#ProjectTypeRemove-ProjectFiles
[-BackupDirectory <String>]
[-CreateBackups]
[-DeleteMethod <RemoveItem| DotNetDelete| RecycleBin>]
[-ExcludeDirectories <String[]>]
[-ExcludePatterns <String[]>]
-IncludePatterns <String[]>
[-Internal]
[-MaxDepth <Int32>]
[-PassThru]
-ProjectPath <String>
[-Recurse]
[-Retries <Int32>]
[-ShowProgress]
[<CommonParameters>]#CustomDescription
Designed for build/CI cleanup scenarios where removing generated artifacts (bin/obj, packed outputs, temporary files) should be predictable and safe. Supports -WhatIf, retries and optional backups.
Examples
Preview cleanup of build artifacts
Remove-ProjectFiles -ProjectPath '.' -ProjectType Build -WhatIfShows what would be removed for the selected cleanup type.
Remove custom patterns with backups enabled
Remove-ProjectFiles -ProjectPath '.' -IncludePatterns 'bin','obj','*.nupkg' -CreateBackups -BackupDirectory 'C:\Backups\MyRepo'Creates backups before deletion and stores them under the backup directory.
Parameters
- -BackupDirectory String
- Directory where backups should be stored (optional).
- -CreateBackups SwitchParameter
- Create backup copies of items before deletion.
- -DeleteMethod ProjectDeleteMethod
- Method to use for deletion.
- Possible values:
RemoveItem,DotNetDelete,RecycleBin - -ExcludeDirectories String[]
- Directory names to completely exclude from processing.
- -ExcludePatterns String[]
- Patterns to exclude from deletion.
- -Internal SwitchParameter
- Suppress console output and use verbose/warning streams instead.
- -MaxDepth Int32
- Maximum recursion depth. Default is unlimited (-1).
- -PassThru SwitchParameter
- Return detailed results.
- -ProjectPath String
- Path to the project directory to clean.
- -ProjectType ProjectCleanupType
- Type of project cleanup to perform.
- Possible values:
Build,Logs,Html,Temp,All - -Recurse SwitchParameter
- Process subdirectories recursively. Defaults to true unless explicitly specified.
- -Retries Int32
- Number of retry attempts for each deletion.
- -ShowProgress SwitchParameter
- Display progress information during cleanup.
- -IncludePatterns String[]
- File/folder patterns to include for deletion when using the Custom parameter set.
Common Parameters
This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.
For more information, see about_CommonParameters.