2013-08-05 39 views
2

我知道標題聽起來有點混亂,但一旦我說明這一點,我敢肯定有執行什麼我需要做一個非常簡單的方法一個新的CSV文件。我對PowerShell非常陌生,並且正在嘗試執行一項特定的任務,這對於一個Web來說很難找到一個好的答案。簡單PowerShell腳本,通過1個CSV文件循環創建從另一個

我已經在過去的幾天通過串聯數據並加入文件一起的方法搜索,但沒有什麼是不夠具體,此任務。所有示例都顯示如何顯示數據,但沒有任何循環顯示並將數據添加到一起以創建新的csv文件。如果有的話,我已經對這個問題進行了過度研究,以至於不得不提出這個信息,看看我的大腦可以用我已經嘗試過的所有無用選項將它整合在一起...

I有兩個csv文件。我把它們稱爲csv,但它們實際上只是一個信息列。

文件:

Users.csv

Offices.csv

Users.csv文件具有網絡用戶名列表。 Offices.csv文件具有與辦公地點相對應的數字列表。

我希望有發生的是使用一個循環,將採取從users.csv文件中的每個用戶,並創建一個單獨的CSV文件新線把每個辦公室吧。

例:

Users.csv

NTNAME 
domain\user1 
domain\user2 
domain\user3 

Offices.csv

OFFICES 
0001 
0023 
0043 
0067 

合併後,我想CSV文件看起來像這樣:

NTNAME,OFFICES 
domain\user1,0001 
domain\user1,0023 
domain\user1,0043 
domain\user1,0067 
domain\user2,0001 
domain\user2,0023 
domain\user2,0043 
domain\user2,0067 
domain\user3,0001 
domain\user3,0023 
domain\user3,0043 
domain\user3,0067 

任何幫助您能給將不勝感激......

回答

2

借用吉文的真棒CSV field enumeration code

$offices = Import-Csv 'C:\path\to\offices.csv' 

Import-Csv 'C:\path\to\users.csv' | % { 
    foreach ($prop in $_.PSObject.Properties) { 
    $offices | select @{n=$prop.Name;e={$prop.Value}}, OFFICES 
    } 
} | Export-Csv 'C:\path\to\combined.csv' -NoTypeInformation 
+0

這工作完全按照我需要它。非常感謝!我需要添加的唯一方法是從結果中刪除引號以便自動執行。我可以自己把那部分弄清楚。 –

相關問題