Powershellスクリプトは、ユーザーがctrl-cを押すだけで簡単に終了できます。 Powershellスクリプトがctrl-cを捕まえて、実際にスクリプトを終了したいかどうかを確認する方法がありますか?ctrl-cをキャッチしてユーザーに確認する方法はありますか?
5
A
答えて
2
チェックアウトthis post on the MSDN forums。
[console]::TreatControlCAsInput = $true
while ($true)
{
write-host "Processing..."
if ([console]::KeyAvailable)
{
$key = [system.console]::readkey($true)
if (($key.modifiers -band [consolemodifiers]"control") -and ($key.key -eq "C"))
{
Add-Type -AssemblyName System.Windows.Forms
if ([System.Windows.Forms.MessageBox]::Show("Are you sure you want to exit?", "Exit Script?", [System.Windows.Forms.MessageBoxButtons]::YesNo) -eq "Yes")
{
"Terminating..."
break
}
}
}
}
ダビデは彼の答えに示したとおりに)あなたの代わりに読み取りホストを使用することができ、確認のためにGUIメッセージボックスを使用する場合、または$ Host.UI.RawUI.ReadKey(ない場合。
2
while ($true)
{
Write-Host "Do this, do that..."
if ($Host.UI.RawUI.KeyAvailable -and (3 -eq [int]$Host.UI.RawUI.ReadKey("AllowCtrlC,IncludeKeyUp,NoEcho").Character))
{
Write-Host "You pressed CTRL-C. Do you want to continue doing this and that?"
$key = $Host.UI.RawUI.ReadKey("NoEcho, IncludeKeyDown")
if ($key.Character -eq "N") { break; }
}
}
+0
だから私はこのすべてのコードの周りにこれをラップする必要がありますか? –
+0
$ host.ui.rawui.readkey()を使用する他のコードに干渉しないでしょうか? –
関連する問題
- 1. SSRS 2012のユーザーの許可を確認する方法はありますか?
- 2. ユーザーが購読しているかどうかを確認する正しい方法はありますか?
- 3. Angularfire2:ユーザーがログインしているかどうかを確認する適切な方法はありますか?
- 4. ユーザーの作成に失敗しました。エラーを相互に確認する方法はありますか?
- 5. クライアントをカールで確認する方法はありますか?
- 6. ミュート状態を確認する方法はありますか?
- 7. ASPxGridViewでASPxCheckBoxを確認する方法はありますか?
- 8. orderbychildの値を確認する方法はありますか?
- 9. ユーザーの確認なしにiPhoneアプリからSMSを送信する方法はありますか?
- 10. UIButtonの確認方法にはターゲットがありますか?
- 11. マシンの代わりにユーザーに基づいてWindows認証を認証する方法はありますか?
- 12. ユーザーがWikipediaのユーザーであることを確認していることを確認しますか?
- 13. 私はGACかどうかを確認する方法はありますか?
- 14. ユーザーを確認してサービスマンに移動する方法
- 15. 与えられたユーザーがPythonを介してコンピュータに存在するかどうかを確認する明確な方法はありますか?
- 16. 確認を得ずにテキストメッセージを送信する方法はありますか?
- 17. インストールしたバージョンを確認する方法はありますか?
- 18. ユーザーがクリックしたWPF楕円形のどの部分を確認する方法はありますか?
- 19. POSTパラメータを確認するより良い方法はありますか?
- 20. eclispeのIOExceptionエラーをキャッチする方法はありますか?
- 21. iAd:Ad foundイベントをキャッチする方法はありますか?
- 22. Androidには特定のデバイスを確認する方法がありますか?
- 23. デバッグ中にdocument.writeの出力を確認する方法はありますか?
- 24. サーバーの確認方法はありますか?
- 25. Laravel 5.2の確認方法はありますか?
- 26. working wifiの確認方法はありますか?
- 27. メールアドレスの確認方法はありますか?
- 28. 電子メールアドレスの確認方法はありますか
- 29. ユーザーが確認せずにDiscoverable時間をプログラムで設定する方法はありますか?
- 30. オンラインログイン中にユーザーの雇用者を確認する方法はありますか?
私はその逆を行う方法を探しています。 Powershellはいつでも私に終了を確認するように頼みます。 –
どうやってそれをやりましたか? –
Windows 7をインストールしたときの様子です。それは私を夢中にさせる! –