我希望有人可以帮我解决我在ISE中运行的PowerShell遇到的问题。
我需要通读一个搜索pdf文件的文件夹,这些文件具有预定义的前缀&电子邮件地址waynewayne.me@myemail.co.uk.pdf复制pdf文件并重命名,然后自动通过电子邮件将其发送到文件名中的电子邮件。例如。附上wayne.pdf并发送至wayne.me@myemail.co.uk。然后我需要将原始文件移动到一个完整的文件夹(以date_time为前缀),并删除/删除新创建的wayne.pdf。
除了删除/删除新创建的文件外,我完全掌握了所有内容。它错误地说: -
删除项目:无法删除项目 \ ldmbc3048 ** \ c $ \ Temp \ Schools \ emailfiles \ wayne.pdf:这个过程不能 访问文件'\ ldmbc3048 ** \ c $ \ Temp \ Schools \ emailfiles \ wayne.pdf' 因为它被另一个进程使用。
这是我的代码:
$Attach = $SearchFolder + $Attachment
$copy-item $file.FullName $attach
$msg = new-object Net.Mail.MailMessage
$msg.IsBodyHTML = $true
$msg.From = $smtpFrom
$msg.To.Add($smtpTo)
$msg.Subject = $MessageSubject
$msg.Body = $body
$msg.Attachments.Add($Attach)
$smtp.Send($msg)
remove-item $Attach
答案 0 :(得分:1)
您可能必须处置 Net.Mail.MailMessage
对象:
# ....
$msg.Dispose()
remove-item $Attach