1
我有一組屬性(深度:1)的對象。如何輸出的對象爲字符串的格式是這樣的:如何輸出一個PS對象作爲自定義格式化的字符串
{property1_name:property1_value} {property2_name:property2_value} {property3_name...
(上面是單線,但屬性值當然可以具有換行/回車等)
假設我不知道屬性名稱,他們可以改變。
謝謝!
我有一組屬性(深度:1)的對象。如何輸出的對象爲字符串的格式是這樣的:如何輸出一個PS對象作爲自定義格式化的字符串
{property1_name:property1_value} {property2_name:property2_value} {property3_name...
(上面是單線,但屬性值當然可以具有換行/回車等)
假設我不知道屬性名稱,他們可以改變。
謝謝!
這實際上取決於你在瀏覽什麼對象。我在一個csv上測試了它,並且它工作得很好,儘管你可能想爲不同類型的對象做一些小的格式化。
$csv |
Get-Member |
Where-Object {$_.MemberType -eq "NoteProperty"} |
Select-Object -Property Name |
ForEach-Object {
"{" + $_.Name + " : " + $csv.($_.Name) + "}"
}
例如,取決於你所看到的,當你做$csv | Get-Member
,你可能要更改NoteProperty
到Property
或別的東西。這應該可能工作。
請注意,您還必須在兩處更改變量的名稱(當前爲$csv
)。
我還可以對meta powershell是如何評論嗎?我喜歡你如何做$ csv。$ _來通過一個變量來檢索屬性的屬性。 –
如果用'-ExpandProperty Name'替換'-Property Name',則可以在'ForEach-Object'中使用'$ _'而不是'$ _。Name'。 – gms0ulman
@MaximeFranchot我有一個簡單的「扁平」對象,主要是字符串屬性。使用你的代碼示例並將屬性名稱更改爲屬性我可以獲取屬性名稱,但不能獲取值。我顯然已將$ csv更改爲正確的變量名稱。 – Alex