2017年11月25日

【PowerShell】ファイルを読み込み16進数でバイナリ表示する


ファイルを読み込みこんで、16進数でバイナリ表示するスクリプトを作ってみました。




ためしに、今回このようなテキストファイルを変換してみます。

$file = "C:\work\test.txt"

[Byte[]]$data = Get-Content $file -Encoding Byte

$buf = ''
$cnt = 0

Write-Host

foreach($a in $data)
{
    $buf = $buf + ' ' + $a.ToString("X2")     
    $cnt += 1
    if ($cnt -eq 16)
    {
        Write-Host $buf
        $buf = ''
        $cnt = 0 
    }
}

Write-Host $buf
まず、Get-Contentを使ってファイルをバイト配列に格納します。そして、あとは順番に読み込み16進数表記で出力しています。また、プロンプトへの表示はバイナリエディタぽく16バイトずつ表示するようにしました。


実行結果








スポンサーリンク