Powershell add-content数组输出显示System.Object []

时间:2016-04-13 16:06:50

标签: arrays powershell

我有一个名为$ RolesFunArray的数组。它包含一个或多个这样的元素:

ZPP01 0  
ZPP02 1   
ZPP03 1  

所有数组都是system.string,但$ RolesFunArray除外,它是system.object。

我正在尝试将此变量输出到文本文件。它始终显示对象类型而不是字符串。我已经尝试了-join,[string] $ RolesFunArray和其他一些东西,但没有一个工作(没有错误,只是更多的System.Object [])。

基本上,我正在逐行读取一个更大的文件,抓取一些文本,将该文本与另一个文件匹配,然后从这两个文件中挑选文本并将它们一起写入该$ Line变量,然后我将其输出到第三个文件中的新行。我想在$ Line输出中的变量之间选项卡。

有什么想法吗?谢谢!

这是我用来输出的内容。

$Line = $FirstWord[1] + ([char]0x0009) + $TstcSplit[6] + ([char]0x0009) + $RolesFunArray

add-content -Encoding ASCII -path "c:\sapdl\test\$File.log" -value "$Line'r" 

1 个答案:

答案 0 :(得分:0)

最简单的方法是:

$RolesForFunArray | Export-Csv out.csv

还有许多其他功能可以让你使用xml,json等。 否则你只需尝试"$RolesForFunArray"

输出取决于对象的类型,这适用于String[]数组。对于其他类型,您需要逐项通过foreach循环进行转换。