Tastatur-Interrupt behandeln, Endeblock ausführen

Ich habe eine Powershell-Funktion, die eine Liste von Dateien verarbeitet. Ich verwende dasbegin, process undend Blöcke dafür:

begin {
    # prepate some stuff
}
process {
    # process each file
}
end {
    # clean up
}

Nun, als ich trafStrg + C, das ganze Skript endet genau dort, wo es war. Dies ist für den Prozessteil kein wirkliches Problem, da nur beim letzten Befehl dauerhafte Änderungen vorgenommen werden.

Ich möchte jedoch noch ausführen, was in derend blockieren, um es ein wenig aufzuräumen und Statistiken über die Dateien zu drucken, die verarbeitet werden konnten.

Gibt es eine saubere Möglichkeit, Tastaturunterbrechungen abzufangen, während die Start- / Prozess- / Endstruktur beibehalten wird?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage