2010年6月21日月曜日

◆Pauseの実装

PowershellにはDosのPauseに相当するコマンドが実装されていない。
同等の機能を関数で実装してみる。
PS>Read-Host  続行するには何かキーを押してください . . .
続行するには何かキーを押してください . . .:

これでも、ほぼ使い物になるとは思うのだが、プロンプト末尾のコロン「 : 」が邪魔なのと、Enterキー以外ではReturnしない。
そこで、ConsoleクラスのReadKeyメソッドを使ってみる。
function Pause
{
    Write-Host "続行するには何かキーを押してください . . ." -NoNewLine
    [Console]::ReadKey($false) | Out-Null
    Write-Host
}

20100621112058
よさそうだ。

<追記>
これも使えそうだ。
$host.UI.RawUI.ReadKey()

<追記>
[Console]::ReadKey($false)のパラメータは$trueのほうが良さそうだ。(ヘルプに騙された)

改良版PowerShell: ◆Pauseの実装2

0 件のコメント:

コメントを投稿