簡體   English   中英

使用 powershell 寫主機的 CRLF

[英]CRLF using powershell write-host

我正在嘗試將日志文件輸出到變量並將該變量用作 Send-MailMessage 上的正文。 問題是輸出中缺少變量中的所有 CRLF。

前任。

$Body = get-content .\TTT.txt
$body
Test
Test1
Test2

write-host "$($Body)"
Test Test1 Test2

有辦法避免嗎? (保留 CRLF)

文檔給出了答案:

將集合寫入主機時,集合的元素打印在由一個空格分隔的同一行上。 這可以用 Separator 參數覆蓋。

寫主機文檔

如果必須使用Write-Host ,則添加參數-Separator with Newline:

Write-Host $Body -Separator "`n"

從我在Cannot Get Send-MailMessage to Send Multiple Lines中看到的,解決方法是這樣的:

$Body = @()
$Body += "Test"
$Body += "Test1"
$Body += "Test2"

ETC

Send-MailMessage -To xxx -From xxx -Smtp xxx -Subject "Test" -Body ($Body | Out-String)

以上工作如我所願。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM