Exclude.ps1

Function Get-ExcludePatterns {
    Param(
        [Parameter(Position=1, Mandatory=$False)]
        [AllowEmptyCollection()]
        [String[]] $Exclude,
        [Parameter(Position=2, Mandatory=$False)][Switch] $ClearDefaultExclude
    )

    $ExcludePatterns = @()

    If (-Not $ClearDefaultExclude) {
        $ExcludePatterns = @(
            'Thumbs.db',
            '.DS_Store',
            '.Spotlight-V100',
            '.Trashes'
        )
    }

    If ($Exclude) {
        ForEach ($Pattern in $Exclude) {
            $ExcludePatterns += $Pattern
        }
    }

    return $ExcludePatterns
}