我正在尝试创建一个函数来记录word doc中的某些设置,并使文档中的信息易于阅读我需要保留原始对象属性的顺序。不幸的是,这意味着我无法“格式正确”。
$o = [PSCustomObject]@{
number = 1
fruit = 'Orange'
Clothing = 'Shirt'
Colour = 'blue'
}
$p = $o | get-member -type NoteProperty | Select-Object -ExpandProperty Name
foreach ($n in $p) {
Write-Output "$n $($o.$n)" #this line is actually function to write a line into the word doc taking $n and $($o.$n) as parameters
}
有问题的代码部分是'$ o | get-member -type NoteProperty'作为Powershell此时重新排序列表。我不确定我的做法是否正确。
此函数实际上是一个递归函数,用于遍历对象树并输出结果。任何关于新方法的想法或纠正我原来的方法都会非常受欢迎。
答案 0 :(得分:1)
以这种方式尝试:
$p = $o.psobject.Properties | select -ExpandProperty Name
答案 1 :(得分:0)
我不明白你的意思
格式正确
但是从PowerShell 3开始,您可以创建有序的哈希表:
[ordered]@{
number = 1
fruit = 'Orange'
Clothing = 'Shirt'
Colour = 'blue'
}