2014-01-08 6 views
0

Я новичок в PowerShell и нуждаюсь в некоторой помощи. У меня есть CSV имени test.csv и выглядит следующим образом:Прочтите .csv и экспортируйте его в новый файл csv - PowerShell

---------------------------------- 
name   lastname  alias   
John   Smith   John    
Marie  Curie   Mary 
---------------------------------- 

Дело в том, что мне нужно экспортировать данные из двух строк в двух разных файлах. Имя файла должно быть один, который находится в столбце «псевдонимом»

Пример:

Name: John 

----------------------------------- 
name   lastname  alias   
John   Smith   John 

----------------------------------- 

Mary 

---------------------------------- 
name   lastname  alias   
Marie  Curie   Mary 

---------------------------------- 

Я попытался с помощью следующего сценария:

Import-Csv c:\test\test.csv | foreach ($line){New-Item c:\test\$_alias.csv -type file} 

Любые предложения?

ответ

1

Этот сценарий должен работать на вас. Он создает новый файл для каждой строки, используя поле alias в качестве имени файла.

$Data = Import-Csv -Path c:\test\test.csv; 

foreach ($Item in $Data) { 
    Export-Csv -InputObject $Item -NoTypeInformation -Path ('c:\test\{0}.csv' -f $Item.Alias); 
} 
0

Мое решение использует циклы сценариев и переменные:

$path = "c:\test\" 
$csv = Import-Csv "$($path)test.csv" 
$csv | 
%{ 
    Export-Csv -InputObject $_ -NoTypeInformation -Path "$($path)$($_.Alias).csv" 
} 
Смежные вопросы