Lidar com a interrupção do teclado, executar o bloco final
Eu tenho uma função powershell que processa uma lista de arquivos. Eu uso obegin
, process
eend
blocos para isso:
begin {
# prepate some stuff
}
process {
# process each file
}
end {
# clean up
}
Agora, quando eu batiCtrl + C, todo o script termina no ponto onde estava. Isso não é realmente um problema para a parte do processo, pois isso só fará alterações permanentes no último comando.
Eu ainda quero executar o que está noend
bloco para limpá-lo um pouco, e para imprimir algumas estatísticas sobre os arquivos que conseguiram ser processados.
Existe uma maneira limpa de capturar interrupções no teclado, mantendo a estrutura de início / processo / fim?