使用Powershell基于文件名发送.pdf文件

时间:2015-04-15 08:27:24

标签: powershell

上午,

我目前正在构建一个向客户发送10,000+语句的流程。到目前为止,我已在SQL / SSRS中创建了语句,并编写了一个PowerShell脚本来循环并运行每个语句,并将.pdf另存为客户端引用号作为文件名。

我现在有一个包含所有文件的文件夹以及一个.csv文件,其中包含客户参考号和要发送给它的电子邮件地址。

是否在PowreShell的功能范围内将所有.pdf个文件发送到.csv中包含相关附件的电子邮件地址?

如果是这样的话我会非常感激,如果有人可以建议进一步阅读 - 我有简单的附件工作的电子邮件,但我甚至找不到任何关于我正在尝试做的事情。

非常感谢

其他细节。

文件名是一个7位数字。此时.csv文件包含第1列中的文件名,例如1234567和第2列中的电子邮件地址。如果需要,这可以改变。

1 个答案:

答案 0 :(得分:1)

听起来相当直接。您可以像这样导入CSV文件:

$csv = Import-Csv ";" -path .\test.csv -header "id","email"

我假设您的CSV在这种情况下与;分开。添加标题,以便我们可以在之后使用这些属性处理字段。

然后循环播放并使用idemail媒体资源发送电子邮件:

foreach ($item in $csv) {
    $filename = "$($item.id).pdf"
    send-mailmessage -to $item.email -attachments $filename -body "blah" -subject "blah" -from "me@foo.com"
}