2011-10-11 41 views
5

如何爲一個對象添加Name NoteProperty?我試過了:如何將名稱NoteProperty添加到對象?

$a = "This", "Is", "a", "cat" 
$a | Add-Member -type NoteProperty -name Name 
$a 

但這似乎不起作用。

預期輸出是:

Name 
---- 
This 
Is 
a 
cat 
+0

閱讀本文http://technet.microsoft.com/en-us/library/ff730946.aspx –

+0

你想實現什麼?你的預期產出是多少? – manojlds

+0

我編輯了這個問題。 – jrara

回答

5

這是答案的修正問題:

$a = "This", "Is", "a", "cat" 
$a | Select-Object @{Name='Name'; Expression={$_}} 

輸出,根據要求,是

Name 
---- 
This 
Is 
a 
cat 
4

下面是如何把你的例子在$ a每個值,將其轉換爲一個名稱和值特性PSObject一個例子,以及使用添加 - 成員cmdlet。 '是爲了續行。由於在管道中調用了添加成員,因此使用-passThru屬性傳遞具有新成員的對象。

$a | %{ new-object psobject -property @{Name="String"; Value=$_}} ` 
    | %{ Add-Member -inputObject $_ -passThru -type NoteProperty -name Note -Value Value} 

我輸出到| ft -auto可以很好地將列縮小到適合的位置。

Value Name Note 
----- ---- ---- 
This String Value 
Is String Value 
a  String Value 
cat String Value 

回答更新問題的另一種方式: $a | %{new-object psobject -p @{Name=$_} 預期輸出匹配:

Name 
---- 
This 
Is 
a 
cat 
相關問題