问题描述
我正在创建一个包,第一步是发送一封电子邮件(使用脚本任务,脚本语言 microsoft visual basic 2019),告诉收件人已收到哪些文件进行处理。我目前正在使用 Foreach 循环容器内的 ScriptTask 任务执行此操作。
电子邮件发送成功,但它会为找到的每个文件发送单独的电子邮件,而不是发送一封列出所有找到的文件的电子邮件。 (我尝试将 ScriptTask 从 Foreach Loop 容器中取出,但没有奏效)
,,,解决方法
程序按预期运行 - for each file 循环容器枚举与搜索模式匹配的每个文件,然后您对其执行操作(发送电子邮件)。
您想要做的是删除您的 For each 文件循环容器。
相反,您的脚本任务将生成一个文件列表,然后您将把这些文件修补到电子邮件正文中。
BooksOnLine 似乎不再有 VB 示例,但您想使用 System.IO.Directory.GetFiles 静态方法。
' Logic here for building out the body of the email aka list of files
Dim filePath as string = "\\longservername\share\path\etc"
Dim filePattern as string = "*.txt"
' Whatever the VB syntax is for creating an array
var fileArray = System.IO.Directory.GetFiles(filePath,filePattern)
' again,I don't have VB handy but this will create a comma delimited list of all of our files
Dim allFiles as string = string.join(fileArray,",")
' at this point,we resume your code
e_email.Body = allFiles