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

如何在powershell中将字符串合并到循环中,powershell,Powershell,我的目标是发送一条自动消息,其中包含循环中的所有字符串 我得到了一个$body变量,它类似于 此消息显示您的$project使用了多少$size 我想把这些字符串合并成一个变量,我可以通过邮件发送这个变量,但它要么在单独的邮件中发送,要么只剩下最后一个循环 代码: 结果被复制了很多次您只需将它们添加到一个变量中即可 $combinedVariable = $body + $size + $project 或者您可以将它们组合为一条消息 $combinedVariable = "This mes

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

我得到了一个
$body
变量,它类似于

此消息显示您的
$project
使用了多少
$size

我想把这些字符串合并成一个变量,我可以通过邮件发送这个变量,但它要么在单独的邮件中发送,要么只剩下最后一个循环

代码:
结果被复制了很多次

您只需将它们添加到一个变量中即可

$combinedVariable = $body + $size + $project
或者您可以将它们组合为一条消息

$combinedVariable = "This message shows you how much $size of your $project is used"
您还可以将每个变量添加到数组中,以堆积在循环中,然后单独使用它们

$array += $combinedVariable

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

您可以通过将它们添加到另一个变量中,将它们组合到一个变量中

$combinedVariable = $body + $size + $project
$array = @()

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


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

$body = $array -join "`n"
或者您可以将它们组合为一条消息

$combinedVariable = "This message shows you how much $size of your $project is used"
您还可以将每个变量添加到数组中,以堆积在循环中,然后单独使用它们

$array += $combinedVariable
如果这不是您所要求的,请提供代码的进一步详细信息,我们可以更好地帮助您

$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”
可以使用元素之间的换行符连接数组中的所有元素

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

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


使用
$array-join“`n”
可以将数组中的所有元素连接在元素之间,并在元素之间使用换行符。

共享您的代码,我们将能够为您提供帮助。$attributes中的foreach$属性{$descr=$attribute.Description$array=@$descr.split(“;”)$proj=$array[“1”]$size=$attribute.size$body=“$project项目使用$size数据”}我需要将$body-s放在一个字符串中。将代码放入注释中不是一件好事,因为它很难阅读。相反,编辑您的问题并添加代码。
for
循环的目的是什么?共享您的代码,我们将能够帮助您。foreach$attributes在$attributes中{$descr=$attribute.Description$array=@$descr.split(“;”)$proj=$array[“1”]$size=$attribute.size$body=“$project项目使用$size数据”}我需要将$body-s放在一个字符串中将代码放在注释中不是一件好事,因为它很难阅读。相反,编辑您的问题并添加代码。
for
循环的目的是什么?我将$array+=$combinedBody添加到我的代码中。它更接近于工作,但在存储所有数据时,循环不会停止。您必须确定e您希望循环何时停止。如果您希望在
$combinedBody
$true
时停止,则将其作为一个条件,
if($combinedBody){break}
例如,我为($i=1$i-le$counter$i++){$combinedBody}尝试了类似$i=0的方法break但它仍然显示了太多的数据目前我有6个主体需要合并到一封电子邮件(类似于一份报告),但在不久的将来它将是100-200左右“$I=0 for($I=1$I-le$counter$I++){$combinedBody}break“-这将循环从1开始递增$i,直到它小于$counter中的数字。可能是这样,但格式错误,应该是:“$i=1;$i-le$counter;$i++”)。我在代码中添加了$array+=$combinedBody。它更接近工作状态,但在存储所有数据时,循环不会停止。您必须决定何时停止循环。如果要在
$combinedBody
$true
时停止,请将其作为一个条件,
如果($combinedBody){break}
例如,我尝试了$i=0($i=1$i-le$counter$i++){$combinedBody}break,但它仍然显示了太多的数据当前我有6个正文需要合并到一封电子邮件(类似于报告),但在不久的将来,$i=0($i=1$i-le$counter$i++){$combinedBody}break”-这将循环从1开始递增$i,直到它小于$counter中的数字。虽然会,但格式是错误的,它应该是:“for($i=1;$i-le$counter;$i++)。