Jump to content

BoKat

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von BoKat

  1. vor 1 Stunde schrieb Sunny61:

    Wenn die pwsh.exe nicht vorhanden ist, dann installiere die Powershell 7 nach, oder ändere den Pfad auf die vorhandene Powershell.exe ab. Hier gibt es die aktuelle Version der PS7: https://github.com/powershell/powershell/releases

     nach der Installation ist die exe jetzt vorhanden, jedoch die Verknüpfung funktionierte so nicht:

     

    %ProgramFiles%\PowerShell\7\pwsh.exe -File "W:\Kunden\list_selected_files.ps1"

     

    Es kam die Meldung: "Die Datei %ProgramFiles%\PowerShell\7\pwsh.exe wurde nicht gefunden."

     

    Mit der Verknüpfung auf die konkrete Datei: 

    "C:\Program Files\PowerShell\7\pwsh.exe" -File "W:\Kunden\list_selected_files.ps1"

    geht es.

     

    Viele Dank.  :shy:

    • Like 1
  2. 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?

×
×
  • Neu erstellen...