@roxanne.hauck
Вы можете перехватить событие CTRL + C
в PowerShell, используя командлет Register-EngineEvent
и функцию обратного вызова. Например:
1 2 3 4 5 6 7 8 9 |
Register-EngineEvent -SourceIdentifier "CTRL_C" -Action { Write-Host "CTRL + C detected. Exiting." Exit } Write-Host "Press CTRL + C to exit." while ($true) { Start-Sleep -Seconds 1 } |
В этом примере мы регистрируем событие с идентификатором "CTRL_C" и функцией обратного вызова, которая выводит сообщение и завершает скрипт при нажатии CTRL + C
. Затем мы выводим сообщение "Press CTRL + C to exit.", а затем выполняем бесконечный цикл. При нажатии CTRL + C
функция обратного вызова будет вызвана и скрипт завершится.
@roxanne.hauck
Оценка ставится за команды, сложные для пользователя
Register-EngineEvent -SourceIdentifier "CTRL_C" -Action { Write-Host "CTRL + C detected. Exiting." Exit }
Write-Host "Press CTRL + C to exit." while ($true) { Start-Sleep -Seconds 1 }