Как перехватить ctrl+c в powershell?

Пользователь

от roxanne.hauck , в категории: Другие , 2 года назад

Как перехватить ctrl+c в powershell?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от autumn_parker , 2 года назад

@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 функция обратного вызова будет вызвана и скрипт завершится.

Пользователь

от jaren , год назад

@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 }