我有一个powershell函数,它返回一个2元素数组,其中每个元素都是一个字符串。函数的return语句返回:
@($ source,@ destination)。
该函数正在文件夹中搜索需要重命名的项目,并将它们作为原始名称发出,因此返回@($ source,@ destination)。源和目的地都是字符串。
但是,当我将其传输到重命名项目时,例如:
fn | %{rename-item $ [0] $ [1] -whatif}
这失败了因为' $ _ [0]'被评估为第一个字符串的第一个字符,而不是2个元素数组的第一个元素。因此,Array被分解为其组成元素,从而丢失了数组。
如果我发出此命令: fn | %{$ _.GetType()} 我得到了一系列返回的String类型,而不是我期待的数组。因此,在这里有点想念并且不确定发生了什么。