Hallo,
ich bin neu mit PowerShell unterwegs und möchte via Script im Explorer ausgewählte Dateien an ein E-Mail anhängen. Die Einbindung in das Kontextmenü funktioniert.
Für den Fall, dass ich nur eine Datei auswähle funktioniert mein Script.
param(
[string]$FilePath
)
# Pfad zur Textdatei mit dem E-Mail-Text
$emailTextPath = "W:\Kunden\EMailText.txt"
$emailBody = Get-Content $emailTextPath -Raw
# Outlook starten
$outlook = New-Object -ComObject Outlook.Application
$mail = $outlook.CreateItem(0)
$mail.Subject = "Rechnungen"
$mail.Body = $emailBody
$mail.Attachments.Add($FilePath)
$mail.Display()
Für mehrere Dateien habe ich den Parameterteil wie folgt
param(
[Parameter(ValueFromRemainingArguments = $true)]
[string[]] $files
)
und das Einfügen der Dateien in das E-Mail wie folgt angepasst
foreach ($filename in $files) {
$mail.Attachments.Add($filename)
}
Die Commands in der Registry lauten für eine Datei (oben) und für mehrere Dateien (unten)
powershell.exe -ExecutionPolicy Bypass -File "W:\Kunden\SendMail.ps1" "%1"
powershell.exe -ExecutionPolicy Bypass -File "W:\Kunden\SendMail2.ps1" "%*"
Leider bekomme ich auf diesem Weg nicht mehrere Dateien in das E-Mail. Was mache ich falsch?