Problem mit Message Box im Skript
Hallo zusammen,
ich habe aus einem Skript eine .exe Datei (Test.exe) erstellt.
Der Abschluss des Skripts wird mit einer Message Box signalisiert.
Nach abgeschlossenem Skript zeigt er mir dann auch die gewünschte Messagebox an. Nach Klick auf ok kommt dann aber noch eine Messagebox mit Titel "Test.exe", Text "OK" und Button "OK".
Warum, ist mir aber nicht klar.
Woran liegt das?
Anbei der Code.
ich habe aus einem Skript eine .exe Datei (Test.exe) erstellt.
Der Abschluss des Skripts wird mit einer Message Box signalisiert.
Nach abgeschlossenem Skript zeigt er mir dann auch die gewünschte Messagebox an. Nach Klick auf ok kommt dann aber noch eine Messagebox mit Titel "Test.exe", Text "OK" und Button "OK".
Warum, ist mir aber nicht klar.
Woran liegt das?
Anbei der Code.
$searchpath = "C:\Test"
$destinationdir = "C:\Test\fertig"
# PSWritePDF Modul installieren wenn nicht vorhanden
if (!(Get-Module -ListAvailable -Name PSWritePDF)) {
Install-Module PSWritePDF -Force
}
# Dateien anhand der Rechnungsnummer im Basename der Datei gruppieren
ls $searchpath -Filter *.pdf -File | group {[regex]::match($_.Basename,'\d+').Value} | %{
# wenn es mehr als eine Datei in der Gruppe gibt
if ($_.Count -gt 1){
# Dateien der Gruppe anhand ihres Namens absteigend sortieren
$files = $_.Group | sort Name -Descending
# Dateien zusammenfassen und als Zieldateiname den der zweiten Datei der Gruppe benutzen
Merge-PDF -InputFile $files.Fullname -Outputfile (join-path $destinationdir "$($files[1].Name)")
}else{
# nur eine Datei in der Gruppe => verschiebe die Datei nur
$_.Group | cp -Destination $destinationdir
}
}
[System.Windows.Forms.MessageBox]::Show("Die abgelegten Dokumente wurden zusammengeführt","Auftrag abgeschlossen")
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6547292220
Url: https://administrator.de/contentid/6547292220
Ausgedruckt am: 20.11.2024 um 01:11 Uhr
8 Kommentare
Neuester Kommentar
Zitat von @Bebbie:
Wenn ich das Skript direkt im Powershell ausführe, kann er gar keine Message Box anzeigen.
Da kommt der Fehler "Der Typ [System.Windows.Forms.MessageBox] wurde nicht gefunden."
Wenn ich das Skript direkt im Powershell ausführe, kann er gar keine Message Box anzeigen.
Da kommt der Fehler "Der Typ [System.Windows.Forms.MessageBox] wurde nicht gefunden."
Weil etwas fehlt:
Add-Type -AssemblyName System.Windows.Forms
Bevor du die MessageBox anzeigst
-Thomas
Die Extra-Messagebox kommt daher, dass der returnwert der Messagebox auf der Konsole ausgegeben wird.
Dies wird durch PS2EXE in eine MessageBox konvertiert.
Abhilfe schafft:
-Thomas
Dies wird durch PS2EXE in eine MessageBox konvertiert.
Abhilfe schafft:
$ret = [System.Windows.Forms.MessageBox]::Show("Die abgelegten Dokumente wurden zusammengeführt","Auftrag abgeschlossen")
-Thomas