Я ищу строку в нескольких файлах в папке. Если я получу эту строку, я хотел бы отправить по электронной почте все эти папки, в которых есть эта строка. Я понял все это и настроил свой формат так, как хочу.
Проблема в том, что когда я отправляю электронное письмо, содержимое отображается в одной строке. Я хочу, чтобы этот текст был разбит по слову. Ниже приведен код:
$find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config"
$boards = $find.Path | Out-String
[array]$split = $boards.Split("\")
$count = $split.Count
$out = for ($i=0; $i -le $count; $i++) {
$split[$i+3]
$i = $i + 3
}
$out2 = $out | Out-String
Send-mailmessage -from "" -to "" -subject "Test" -body $out2 -BodyAsHtml -priority High -dno onFailure -smtpServer
Проблема в том, что тело отображается, как показано ниже: ABC ABC2
Но я хочу, чтобы тело было:
ABC
ABC2
Я также попытался получить вывод в текстовый файл и использовать -Raw с gci:
$find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config"
$boards = $find.Path | Out-String
[array]$split = $boards.Split("\")
$count = $split.Count
$out = for ($i=0; $i -le $count; $i++) {
$split[$i+3]
$i = $i + 3
}
$out | Out-file -FilePath C:\Test.txt
$body = Get-content C:\Test.txt -Raw
Send-mailmessage -from "" -to "" -subject "Test" -body $body -BodyAsHtml -priority High -dno onFailure -smtpServer
Я использовал Out-String и -Raw с gci, и я использую V4. Не уверен, что мне не хватает. Когда я выводю файл, это правильный формат с разрывами строки, но не при отправке электронной почты. Я бы предпочел не создавать текстовый документ, а просто использовать переменную в теле.
Спасибо
Содержимое вашего сообщения НЕ HTML, но вы используете -bodyAsHtml
при отправке сообщения по почте. Ваше тело - это просто текст, и когда вы укажете -bodyAsHTML
что приводит к удалению разрывов строк. Удаление -bodyAsHtml
должен решить вашу проблему.
В документе HTML разрывы строк представлены <P>
, <BR>
, и сохраняются только тогда, когда они появляются внутри <PRE>
.