如何在powershell中循环合并字符串

时间:2018-02-16 08:12:37

标签: powershell

我的目标是发送一条自动消息,其中包含我循环中的所有字符串。

我有一个$body变量,类似于

  

此消息显示您$size的{​​{1}}使用了多少<{1}}

我想将这些字符串合并为一个我可以通过邮件发送的变量,但要么是以分开的邮件发送,要么只留下最后一个循环。

代码:

$project

结果重复了很多次

2 个答案:

答案 0 :(得分:0)

您可以将它们组合到一个变量中,方法是将它们相互添加。

$combinedVariable = $body + $size + $project

或者您可以将它们组合为一条消息

$combinedVariable = "This message shows you how much $size of your $project is used"

您还可以将每个变量添加到数组中以在循环中堆积,然后再单独使用它们

$array += $combinedVariable

如果这不是您要求的,请提供您的代码的更多详细信息,我们可以为您提供更好的帮助。

答案 1 :(得分:0)

$array = @()

foreach ($attribute in $attributes){
    $projname = $attribute.ProjectName
    $size = $attribute.Size


    $array += "The $projname project uses $size GB"
}

$body = $array -join "`n"

$array = @()部分将$array变量初始化为空数组。

在foreach循环中,您可以直接将构建的字符串添加到该数组中。

使用$array -join "`n",您可以使用元素之间的换行符连接数组中的所有元素。