gpt4 book ai didi

powershell - 选择/映射 Powershell 数组的每一项到新数组

转载 作者:行者123 更新时间:2023-12-03 07:56:08 26 4
gpt4 key购买 nike

我在 Powershell 中有一个文件名数组,我想为每个文件名添加一个路径,并在一个新数组中获取结果。

在 C# 中,我可以使用 Linq 来做到这一点......

var files = new string[] { "file1.txt", "file2.txt" };
var path = "c:\temp\";
var filesWithPath = files.Select(f => path + f).ToArray();

但是在 Powershell 中执行此操作的惯用方法是什么?看起来我可以使用 foreach 语法,但我认为必须有一种更简洁、更实用的方法来做到这一点。

最佳答案

Powershell 中的数组使用 @() 声明句法。 %foreach-object 的简写.让我们声明一个包含所有文件名的数组,并使用 foreach 循环遍历它。 join-path将路径和子路径合并为一条路径。

$files = @("file1.txt", "file2.txt")
$pFiles = $files | % {join-path "c:\temp" $_ }
$pFiles

输出:
c:\temp\file1.txt
c:\temp\file2.txt

注意:如果输入由单个元素组成,foreach 将不会返回一个集合。如果需要数组,请使用显式类型或包装结果。像这样,
[array]$pFiles = $files | % {join-path "c:\temp" $_ }
$pFiles = @($files | % {join-path "c:\temp" $_ })

关于powershell - 选择/映射 Powershell 数组的每一项到新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8908879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com