PowerShell 出力結果の改行を抑える

PowerShellで標準出力の結果、Write-Hostや、Write-Outputなどコンソールへ出力した結果が改行されることがあります。

コンソールの画面バッファの幅(サイズ)によって改行位置が異なってくるようです。

出力結果が画面バッファの幅(サイズ)の影響で、望ましくない位置で改行されてしまい困る場合は、コンソールの画面バッファの幅(サイズ)を広げてあげることで改行を抑えることができます。

コンソール画面の画面バッファの幅は、プロパティ-レイアウトから変更できます。

プロパティ画面では、幅は9999まで、高さも9999まで設定が可能です。(Win7sp1)

スクリプトからは以下のように変更が可能です。この場合はその時開いているコンソールやそのスクリプト実行時のみ有効となります。


$pshost = get-host

$pswindow = $pshost.ui.rawui

$newsize = $pswindow.buffersize

$newsize.Height = 9999 

$newsize.Width = 9999

$pswindow.buffersize = $newsize



出力結果の改行を確認するサンプルコードは以下


# 標準出力など出力結果が画面(バッファ)の幅で改行されてしまうのでそのための対応として画面バッファの幅を広げる

$pshost = get-host

$pswindow = $pshost.ui.rawui

$newsize = $pswindow.buffersize

$newsize.Height = 9999 

$newsize.Width = 9999 # この値を変えてみて出力結果の改行を確認...

$pswindow.buffersize = $newsize

Write-Host 'height = ' $pswindow.buffersize.Height

Write-Host 'width = ' $pswindow.buffersize.Width

Write-Output 'height = ' $pswindow.buffersize.Height

Write-Output 'width = ' $pswindow.buffersize.Width

$str = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"

Write-Host '$str = '$str.Length

Write-Output ""

$str

Write-Output ""

Write-Host $str

Write-Output ""

Write-Output $str



Han The World

お出かけ、食、読書、システム構築やプログラミングに関する徒然なるブログ

0コメント

  • 1000 / 1000