使用 powershell 格式化输出到邮件正文

format output to body of mail using powershell

我想在格式化输出中显示特定目录的磁盘大小和特定目录的文件,并使用 powershell 将其作为正文发送到邮件中。

我在 powershell 代码中使用但无法将其保存在变量中:

     C:\Users\abc\Desktop\xyz\file.bat -Name powershell | Format-Wide

file.bat 是:

    cd C:\Program Files (x86)\Resource Kit
    diruse  /M /* C:\Users\abc\Desktop

输出为:

Size (mb)  Files  Directory
     0.18     23  SUB-TOTAL: C:\USERS\abc\DESKTOP\xyz
    76.40      5  SUB-TOTAL: C:\USERS\abc\DESKTOP\testreport
    76.58     28  TOTAL

我想使用 powershell 在邮件正文中打印此输出。 任何人都可以研究一下如何将格式化输出保存在 powershell 的变量中,以便我可以获得输出

您可以通过 Out-String

管道获取电子邮件正文中的大致格式
$body = C:\Users\abc\Desktop\xyz\file.bat -Name powershell | Format-Wide | Out-String

请注意,您的列对齐方式不会与您在控制台中看到的完全一致,因为电子邮件客户端将使用比例字体,而控制台使用固定宽度的字体。