これでは何かと使いづらいのでちょっと改良してみることにした。
自動変数$ExecutionContextを使うと実行環境が判定できるのISEの場合は単純にMessageBoxを表示することとした。
function Pause { if($ExecutionContext.Host.name -match "console"){ Write-Host "続行するには何かキーを押してください . . ." -NoNewLine [Console]::ReadKey($true) | Out-Null Write-Host }else{ #Add-Type -AssemblyName System.Windows.Forms [WIndows.Forms.MessageBox]::Show("続行するにはOKを押してください") | Out-Null } } |
$env:windir\System32\WindowsPowerShell\v1.0\profile.ps1
<追記>
$ExecutionContext.Hostは$hostでも良さげ。
丸パクリしました。
返信削除ありがとうございました。