小编Gui*_*ejo的帖子

PowerShell:修改数组元素

我的cmdlet get-objects返回一个MyObject包含公共属性的数组:

public class MyObject{
    public string testString = "test";
}
Run Code Online (Sandbox Code Playgroud)

我希望没有编程技能的用户能够testString从数组的所有对象修改公共属性(如本示例中所示).然后将修改后的数组提供给我的第二个cmdlet,该cmdlet将对象保存到数据库中.

这意味着"编辑代码"的语法必须尽可能简单.

它应该看起来像这样:

> get-objects | foreach{$_.testString = "newValue"} | set-objects
Run Code Online (Sandbox Code Playgroud)

我知道这是不可能的,因为$ _只返回数组中元素的副本.

因此,您需要在循环中通过索引访问元素,然后修改属性.对于不熟悉编程的人来说,这真的很快变得非常复杂.


这样做有"用户友好"的内置方式吗?它不应该比简单更"复杂"foreach {property = value}

arrays powershell

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

arrays ×1

powershell ×1