Я хочу прочитать два CSV-файла в массив. Мне нужно из файла один только первый столбец, а из файла два только последний столбец. Хотя я хочу исключить все повторяющиеся записи и каждый элемент массива без символа "(". Оба файла содержат немецкие умлауты, такие как "ä ö ü ß".
Вот мой сценарий:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force
#Define variables
$Arrayusername_ads_unique = New-Object System.Collections.ArrayList
$Arrayusername_ads_unique_new = New-Object System.Collections.ArrayList
$Arrayusername_ads_value = New-Object System.Collections.ArrayList
$Arrayusername_Personalamt_unique = New-Object System.Collections.ArrayList
$Arrayusername_Personalamt_unique_value = New-Object System.Collections.ArrayList
$Arrayusername_Personalamt_unique_new = New-Object System.Collections.ArrayList
$Arrayusername_ads_unique_new = New-Object System.Collections.ArrayList
#Convert CSV-File User-ads to UTF8 and import into array
$Arrayusername_ads_unique = Get-Content -Path "C:\Temp\Userabgleich\Benutzer_ADS-utf8.csv"
$Arrayusername_ads_unique | Out-File C:\Temp\Userabgleich\Array_ads_temp.csv -Append -Encoding utf8
$Arrayusername_ads_unique_new = Import-Csv -Delimiter:';' -Header "Name","Amt" -Path "C:\Temp\Userabgleich\Array_ads_temp.csv" |
Where-Object {$_.Name -like "*(*"} |
Sort-Object -Unique -Property Name, Amt
foreach ($value in $Arrayusername_ads_unique) {
$value_new = $value.Replace(" ", "%")
$value_new | Out-File C:\Temp\Userabgleich\Array_ads_value.txt -Append -Encoding utf8
}
Сначала я преобразовал CSV в UTF-8, чтобы получить правильные преобразованные ä, ö и ü.