所以我正在调整一些Powershell库,我有一个简单的问题,我想以最好的方式解决.....
简而言之,我在一个数组中有一些自定义PSObject:
$m1 = New-Object PSObject –Property @{Option="1"; Title="m1"}
$m2 = New-Object PSObject –Property @{Option="2"; Title="m2"}
$m3 = New-Object PSObject –Property @{Option="3"; Title="m3"}
$ms = $m1,$m2,$m3
Run Code Online (Sandbox Code Playgroud)
我想转换成一个字符串数组....理想情况下是一个单独的字符串数组,其中每个项目都有一个连接属性的条目.即
"1m1","2m2","3m3"
我试过$ms | Select-Object Option,Title,$ms | %{ "O: $_.Option T: $_.Title "}
但他们给了我PSObject(再次)或数组数组的数组.
Kei*_*ill 32
这会给你你想要的东西:
$strArray = $ms | Foreach {"$($_.Option)$($_.Title)"}
Run Code Online (Sandbox Code Playgroud)
Select-Object有点像SQL SELECT.它将选定的属性投影到新对象(v1/v2中的pscustomobject和V3中的Selected.<orignalTypeName>).你的第二种方法不起作用,因为$_.Option在一个字符串中只会"插入"变量$_.它不会评估表达式$_.Option.
您可以通过使用子表达式来获取双引号字符串来计算表达式,例如"$(...)"或"$($ _.Option)".
| 归档时间: |
|
| 查看次数: |
40406 次 |
| 最近记录: |