Powershell:如何为电子邮件格式化Get-Childitem?

haz*_*mat 4 email format powershell newline

简而言之,我正在尝试从Powershell脚本发送一封电子邮件,其中列出了目录的内容.

为了做到这一点,我将文本存储在变量中,然后将此变量插入Send-MailMessage.

我的问题是这个.当我将对象管道传递给Out-String如下时,它不会插入换行符:

$mailbody += "<p>" + (get-childitem $path | select-object Name | Out-String -width 40) + "</P>"
Run Code Online (Sandbox Code Playgroud)

显然,当Get-Childitem在提示符下输入时,输出很好地用换行符格式化,但是当存储到变量然后通过电子邮件发送(在HTML电子邮件中)时,没有换行符,这会产生不可读的长文件名字符串.

我该怎么做呢?

man*_*lds 6

您可以使用ConvertTo-Htmlcmdlet执行此操作:

get-childitem $path | select-object Name | ConvertTo-Html -fragment
Run Code Online (Sandbox Code Playgroud)

它将为您创建一个可以在HTML电子邮件中发送的好桌子.该-fragment部件移除头部和身体等,仅提供表格.