2012-11-09 57 views
0

這是一個奇怪的問題。每當我嘗試使用export-csv將某些內容導出到csv時,.csv中的唯一數據就是長度屬性。這是爲什麼?因此,例如:Powershell v3中的Export-csv - 與PS v2不同的輸出

$boogers = "string data" 
$boogers | export-csv c:\script\boogers.csv -notypeinformation 

現在輸出看起來就像這樣:

Length 
11 

是怎麼回事?也許這只是我,但我似乎無法在谷歌機器上找到有關此cmdlet的非常好的信息。按照Microsoft的傳統,獲取幫助文件不太有用。

任何意見,你們可以給我將不勝感激。

回答

1

它看起來也是在Powershell v2中。

Export-Csv將爲輸入對象的每個公共屬性創建CSV列。這正是(非常有用和詳細的,國際海事組織)docs說。 System.String只有1家公共房產 - Length

也許你想要一個名爲Value或類似的列?你可以這樣做:

'boogers' | select *, @{N='Value'; E={$_}} | Export-Csv C:\boogers.csv 
+0

Latkin,謝謝你的回覆。在第2版中這不是一回事。事實上,我在升級到v3時使用了這種將字符串變量作爲對象插入到export-csv中的方法,並且它工作得很好。嘗試製作$ dir = dir並將其導出到csv。接下來嘗試製作$ dir =「dir」並執行相同操作。只要你嘗試管道一個字符串,它只會轉儲長度屬性。這絕對不是v2的運作方式。 – John

+1

是的,我很害怕。你仍然可以運行PS v2,只需調用powershell.exe -Version 2.自己嘗試一下。 – latkin