Private/Add-ToItemCollection.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function Add-ToItemCollection { param( $Delimiter = [IO.Path]::PathSeparator, $Reference, # e.g. ENV:Path $Item, # e.g. 'C:\Project', [switch]$Append ) $Existing = ( Get-Item -Path $Reference ).Value -split $Delimiter | Where-Object {$_ -ne $Item} if($Append) { $ToAdd = ( @($Existing) + $Item | Select-Object -Unique ) -join $Delimiter } else { $ToAdd = ( @($Item) + @($Existing) | Select-Object -Unique ) -join $Delimiter } Set-Item -Path $Reference -Value $ToAdd } |