powershell - Powershell附加了文件夹中的所有文件
问题描述
我需要通过电子邮件发送并附加文件夹中的所有文件,但不包括任何子文件夹。我收到错误找不到“添加”和参数计数的重载:“1”。在行:11 字符:1
- $emailMessage.Attachments.Add($getallfiles)
下面是powershell代码。
$dir = "C:\Users\myid\Documents\comparsion\src\main\resources\excelfiles\Compare_Result_Files"
$getallfiles = Get-ChildItem "$dir\*.xlsx"
$emailSmtpServer = "mailhub-au.com"
$emailMessage = New-Object System.Net.Mail.MailMessage
$emailMessage.From = "donotreply@company.com"
$emailMessage.To.Add( "myid@company.com" )
$emailMessage.Subject = "Selenium Report"
$emailMessage.IsBodyHtml = $true
$emailMessage.Body = "Test Summary Attached"
$emailMessage.Body = "$getallfiles"
$emailMessage.Attachments.Add($getallfiles)
$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer ,$emailSmtpServerPort )
$SMTPClient.Send($emailMessage)`
解决方案
您需要遍历文件并一次添加一个。
该Attachments.Add()
方法还需要完整的文件名,而不是 FileInfo 对象。查看文档
foreach ($file in $getallfiles) {
[void]$emailMessage.Attachments.Add($file.FulllName)
}
我还建议添加-File
开关以Get-ChildItem
确保您只收集文件,而不是文件夹。
推荐阅读
- javascript - 如何在反应中对嵌套对象使用扩展运算符?
- r - facet_zoom 按日期范围从 stat_summary
- rabbitmq - 是否可以将 RabbitMQ 集群节点作为跟随者添加到现有的仲裁队列?
- reactjs - 在 azure devops 和 azure app services 上配置管道并部署 React 应用程序
- jmeter - 每次发送的请求数都在变化时编写 Jmeter 脚本
- php - 在特定的 WooCommerce 结帐字段包装器 html 标记中放置一个 span 标签
- javascript - 将帐户传递给 near-js-api 函数调用
- azure - Azure Key Vault 服务是否支持 PKCS#11?
- c - STM32上的SD卡初始化
- java - 将 Jackson 配置为忽略除类字段/成员之外的所有内容