powershell使用动态foldercontent发送电子邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell使用动态foldercontent发送电子邮件相关的知识,希望对你有一定的参考价值。
我有一个脚本,解压缩文件,然后将文件夹重命名为解压缩的pdf里面的名称。 我想补充一点,脚本将每个解压缩文件夹的内容作为电子邮件发送
$SourceDir = 'C:InstallNBTeststart'
$ExtractDir = 'C:InstallNBTestfinal'
# Extract each zip to a folder with the same name as the zip file (BaseName)
Get-ChildItem (Join-Path $SourceDir *.zip) | foreach {
Expand-Archive $_.FullName -DestinationPath (Join-Path $ExtractDir $_.BaseName)
}
# Rename the PDF's parent folder to the same as the PDF
Get-ChildItem (Join-Path $ExtractDir *.pdf) -Recurse | foreach {
Rename-Item -Path $_.Directory.FullName -NewName $_.BaseName
}
文件夹名称是部分生成的和静态名称,并从zip文件更改为zip文件。
答案
问题是-Attachments $ExtractDir
- 您正在尝试将字符串'C:InstallNBTestfinal'
附加到您的电子邮件中。
您需要获取文件夹中的文件并附加它们。
再次Get-ChildItem
可用于此,现在你可以在使用文件时看到一个主题;)
foreach ($folder in (Get-ChildItem $ExtractDir -Directory)) { # loop through each folder
$files = Get-ChildItem (Join-Path $ExtractDir $folder) -File | Select-Object -ExpandProperty FullName # get files in that folder and assign to variable
Send-MailMessage [your other params] -Attachments $files # use variable as your attachments
}
以上是关于powershell使用动态foldercontent发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
如何编写 powershell 脚本来知道磁盘是基本的还是动态的?
powershell 从PowerShell动态加载.Net程序集