#powershell
#powershell
Вопрос:
У меня есть CSV-файл с именем test.csv (C:testingtest.csv ) в этом формате:
File Name,Location,Added (GMT),Created (GMT),Last Modified (GMT),File Size (Bytes),File Size,Extension,Incident Type
10-MB-Test (1).docx,\blahTest 3,10/8/2020 21:13,10/8/2020 19:33,10/8/2020 16:26,10723331,10.23 (MB),docx,low_data_discover
10-MB-Test (1).xlsx,\blah2Test 3,10/8/2020 21:14,10/8/2020 19:33,10/8/2020 16:25,9566567,9.12 (MB),xlsx,high_data_discover
1-MB-Test.docx,\blah3Test 3,10/8/2020 21:13,10/8/2020 19:33,10/8/2020 16:37,1045970,1021.46 (KB),docx,medium_data_discover
Я пытаюсь заменить конечные символы «» (если они существуют) для значений в столбце Location ничем, используя этот код Powershell:
$file1 = import-csv -path "C:testingtest.csv" | % {$_."Location" -replace "\$",""} | Select-Object * | export-csv -NoTypeInformation "C:testingblah.csv"
Однако, когда я запускаю код, единственный результат, который я получаю, — это столбец с именем «Длина» с числовым значением. Можете ли вы помочь?
Ответ №1:
Вы только отправляете новую строку (обновленное местоположение) по конвейеру. Вы можете обновить каждое местоположение, а затем экспортировать его в конце.
$file1 = import-csv -path "C:testingtest.csv"
$file1 | ForEach-Object {$_.location = $_.location -replace '\
}
$file1 | export-csv -NoTypeInformation "C:testingblah.csv"