Gracieusement arrêt en Powershell
Comment puis-je attraper et manipuler Ctrl+C dans un script PowerShell? Je comprends que je peux le faire à partir d'une applet de commande dans la v2, en y incluant un remplacement pour le Powershell.Stop()
méthode, mais je ne peux pas trouver un analogue pour les utiliser dans des scripts.
Je suis en train d'effectuer le nettoyage via un fin
bloc, mais j'ai besoin d'effectuer des travaux supplémentaires lorsque le script est annulée (par opposition à exécuter jusqu'à la fin).
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la méthode décrite sur ici sur PoshCode
Résumé:
Ensemble
interroger une entrée de l'utilisateur à l'aide de
La la documentation pour try-catch-finally dit:
Voir l'exemple suivant. L'exécuter et de l'annuler en appuyant sur
ctrl-c
.$didcomplete = $true
à la fin de votretry
et vérifier avecif ($didcomplete) { Write-Host "Ended work." }
à l'intérieur de lafinally
Il y a aussi un
Stopping
bien sur$PSCmdlet
qui peuvent être utilisés pour cela.Stopping
estfalse
même lors de l'arrêt par PowerShell/PowerShell#6322.