BoKat 0 Geschrieben vor 2 Stunden Melden Geschrieben vor 2 Stunden (bearbeitet) 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? bearbeitet vor 2 Stunden von BoKat unwesentliche Informationen entfernt Zitieren
MurdocX 998 Geschrieben vor 1 Stunde Melden Geschrieben vor 1 Stunde Probiere es nicht mit dem klassischen Parameter, denn der wird nicht funktionieren. Nutze stattdessen $args. if($null -ne $args) { $args | ForEach-Object { Write-Host $_ } pause } Erstelle unter "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo" eine Verknüpfung zu deiner SendToPs.ps1-Datei. Zielpfad in der Verknüpfung: %ProgramFiles%\PowerShell\7\pwsh.exe -File "C:\Users\%username%\Desktop\SendToPs.ps1" Dann wirst du in diesem Beispiel beide Pfade angezeigt bekommen. In ForEach kannst du die Aufgaben implementieren. Ich hoffe das hilft Dir weiter. *Ergebnis Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.