我有以下内容:
$test = [pscustomobject]@{
First = "Donald";
Middle = "Fauntleroy";
Last = "Duck";
Age = 80
}
$test | Get-Member -MemberType NoteProperty | % {"$($_.Name)="}
Run Code Online (Sandbox Code Playgroud)
打印:
Run Code Online (Sandbox Code Playgroud)Age= First= Last= Middle=
我想从每个属性中提取值并将其包含为我的名称值对的值,因此它看起来像:
Run Code Online (Sandbox Code Playgroud)Age=80 First=Donald Last=Duck Middle=Fauntleroy
我正在尝试构建一个字符串,并且不提前知道属性名称.如何提取值以完成我的名称值对?
Mik*_*eel 11
我能找到的唯一方法(到目前为止)是这样做的:
$test = [pscustomobject]@{
First = "Donald";
Middle = "Fauntleroy";
Last = "Duck";
Age = 80
}
$props = Get-Member -InputObject $test -MemberType NoteProperty
foreach($prop in $props) {
$propValue = $test | Select-Object -ExpandProperty $prop.Name
$prop.Name + "=" + $propValue
}
Run Code Online (Sandbox Code Playgroud)
关键是使用-ExpandProperty.
更短,更PowerShell'ish选项:
$test | Get-Member -MemberType NoteProperty | % Name | %{
$_ + '=' + $test.$_
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12378 次 |
| 最近记录: |