Обработка прерывания клавиатуры, выполнение блока конца
У меня есть функция powershell, который обрабатывает список файлов. Я используюbegin
, process
а такжеend
блоки для этого:
begin {
# prepate some stuff
}
process {
# process each file
}
end {
# clean up
}
Теперь, когда я ударилCtrl + C,, весь сценарий просто заканчивается прямо в том месте, где он был. Это не проблема для части процесса, поскольку она будет вносить постоянные изменения только в последнюю команду.
Однако я все еще хочу выполнить то, что вend
блок, чтобы немного его очистить, и распечатать статистику о файлах, которые удалось обработать.
Есть ли чистый способ отлавливать прерывания клавиатуры, сохраняя структуру начала / процесса / конца?