我有一个脚本,该脚本解压缩文件,然后将文件夹重命名为内部解压缩的pdf的名称。
我要补充一点,该脚本以电子邮件的形式发送每个未压缩文件夹的内容
$SourceDir = 'C:\Install\NB\Teststart'
$ExtractDir = 'C:\Install\NB\Testfinal'
# 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
}
文件夹名称是部分生成的静态名称,并且从zipfile更改为zipfile。
答案 0 :(得分:0)
问题是-Attachments $ExtractDir
-您正在尝试在电子邮件中附加字符串'C:\Install\NB\Testfinal'
。
您需要获取文件夹内的文件并将其附加。
同样可以使用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
}