2013-11-20 34 views
0

我對Powershell頗爲陌生,迄今爲止基於我在各種網站上發現的內容創建了幾個腳本。 現在我想進一步擴展我的腳本並遇到問題。我想它不是那麼差勁就做我想做的事,但我似乎沒有得到它的工作。部分合並文件

場景: 我有一個叫from.csv文件與以下信息自動創建:

from.csv 

Name,Mac 
Server01,00:50:56:00:00:01 
Server02,00:50:56:00:00:02 
Server03,00:50:56:00:00:03 

我也有一個叫to.csv下面信息的文件:

to.csv 

Name,Mac,IP 
Server01,,192.168.0.1 
Server02,,192.168.0.2 
Server03,,192.168.0.3 

我現在想要做的是從包含在「to.csv」文件中的正確列中的「from.csv」文件中獲取正確的(對應於正確的服務器)MAC地址。

謝謝

回答

4

這實際上很簡單。

首先,您加載from.csv

$from = Import-CSV from.csv 

然後如果從數據創建一個查找表,最簡單的方法:

$servers = @{} 
$from | foreach { $servers[$_.Name] = $_.Mac } 

然後你就可以加載to.csv

$to = Import-CSV to.csv 

並添加缺失的數據:

$to | foreach { $_.Mac = $servers[$_.Name] } 

,並保存結果:

$to | Export-Csv to_result.csv 
+0

這工作就像一個魅力:) – user3012250