我是新來的PowerShell和仍然在學習,PowerShell的:合併有不同的數據線在一個CSV文件
我有一個CVS文件看起來像這樣: https://dl.dropboxusercontent.com/u/95418691/example.png
的MAC地址和VLAN去與上面的行,但我似乎無法找到一種方法來做到這一點,因爲不是每一行都有一個mac地址列出。我從一個奇怪的XML使這個CVS文件與此代碼:
$XML |
select-xml -xpath "/SolarWinds_SwitchPortMap/Interfaces/Interface |
/SolarWinds_SwitchPortMap/Interfaces/Interface/MACs/MAC" |
select -ExpandProperty Node |
select -Property Interface, Description, MACAddress, ip, DNS, VLAN, Speed |
Export-Csv -NoTypeInformation -Path "c:\Users\$env:username\Desktop\$ip.csv"
因此修復這些代碼或寫別的東西CVS的線條相結合的兩種方式將是巨大的,並且如果不介意解釋您的解決方案,我正在努力學習:)謝謝。
編輯: 這是XML的樣子:
<SolarWinds_SwitchPortMap Layer2Device="<info>">
<Interfaces>
<Interface ifIndex="<info>" CollectionTime="<info>" ConnectorPresent="<info>" Duplex="<info>" HardwareType="<info>" ifAdminStatus="<info>" ifAdminStatustest="<info>" Description="*** Frame 1 ***" ifDescr="<info>" MTU="<info>" Interface="<info>" ifOperStatus="<info>" ifSpeed="<info>" ifType="<info>" ifTypeName="<info>" InBitsSec="<info>" InPktsSec="<info>" LastChange="<info>" LastPacketIn="<info>" LastPacketOut="<info>" ModulePortIndex="<info>" OutBitsSec="<info>" OutPktSec="<info>" Port="<info>" TrunkPort="False">
<MACs>
<MAC MACAddress="<info>" IPAddress="" DNS="" VLAN="1" Manufacturer="<info>" />
</MACs>
</Interface>
<Interface ifIndex="<info>" CollectionTime="<info>" ConnectorPresent="<info>" Duplex="<info>" HardwareType="<info>" ifAdminStatus="<info>" ifAdminStatustest="<info>" Description="*** Frame 2 ***" ifDescr="<info>" MTU="<info>" Interface="<info>" ifOperStatus="<info>" ifSpeed="<info>" ifType="<info>" ifTypeName="<info>" InBitsSec="<info>" InPktsSec="<info>" LastChange="<info>" LastPacketIn="<info>" LastPacketOut="<info>" ModulePortIndex="<info>" OutBitsSec="<info>" OutPktSec="<info>" Port="<info>" TrunkPort="False">
<MACs>
<MAC MACAddress="<info>" IPAddress="" DNS="" VLAN="1" Manufacturer="<info>" />
</MACs>
</Interface>
<Interface ifIndex="<info>" CollectionTime="<info>" ConnectorPresent="<info>" Duplex="<info>" HardwareType="<info>" ifAdminStatus="<info>" ifAdminStatustest="<info>" Description="*** Frame 3 ***" ifDescr="<info>" MTU="<info>" Interface="<info>" ifOperStatus="<info>" ifSpeed="<info>" ifType="<info>" ifTypeName="<info>" InBitsSec="<info>" InPktsSec="<info>" LastChange="<info>" LastPacketIn="<info>" LastPacketOut="<info>" ModulePortIndex="<info>" OutBitsSec="<info>" OutPktSec="<info>" Port="<info>" TrunkPort="False" />
<Interface ifIndex="<info>" CollectionTime="<info>" ConnectorPresent="<info>" Duplex="<info>" HardwareType="<info>" ifAdminStatus="<info>" ifAdminStatustest="<info>" Description="*** Frame 4 ***" ifDescr="<info>" MTU="<info>" Interface="<info>" ifOperStatus="<info>" ifSpeed="<info>" ifType="<info>" ifTypeName="<info>" InBitsSec="<info>" InPktsSec="<info>" LastChange="<info>" LastPacketIn="<info>" LastPacketOut="<info>" ModulePortIndex="<info>" OutBitsSec="<info>" OutPktSec="<info>" Port="<info>" TrunkPort="False">
<MACs>
<MAC MACAddress="<info>" IPAddress="" DNS="" VLAN="1" Manufacturer="<info>" />
</MACs>
</Interface>
</Interfaces>
</SolarWinds_SwitchPortMap>
你應該公佈源XML的一個例子。 –
我在原始問題中增加了一個例子:) – JasonBluefire