PowerShellを使ってファイルの先頭のバイナリダンプを表示することはできますか?

はい、PowerShellを使ってファイルの先頭のバイナリダンプ(いわゆるヘキサダンプ)を表示することは可能です。以下のような方法で、バイナリファイルの先頭 N バイトを読み取って、16進数とASCIIで表示できます。


✅ 例:先頭 64 バイトをダンプする PowerShell スクリプト

# ダンプしたいファイルパスと読み取るバイト数
$filePath = "C:\\\\Path\\\\To\\\\File.bin"
$length = 64  # 読み取るバイト数

# ファイルをバイナリで開く
$bytes = [System.IO.File]::ReadAllBytes($filePath)[0..($length - 1)]

# 16バイトずつ表示
for ($i = 0; $i -lt $bytes.Length; $i += 16) {
  $chunk = $bytes[$i..([Math]::Min($i + 15, $bytes.Length - 1))]

  # オフセット表示
  $offset = "{0:X8}" -f $i

  # 16進数部分
  $hex = ($chunk | ForEach-Object { "{0:X2}" -f $_ }).PadRight(47) -join ' '

  # ASCII部分
  $ascii = ($chunk | ForEach-Object {
    if ($_ -ge 32 -and $_ -le 126) {
      [char]$_
    } else {
      '.'
    }
  }) -join ''

  # 出力
  Write-Output "$offset  $hex  $ascii"
}


🔍 出力例(イメージ)

00000000  4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00  MZ..............
00000010  B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00  ........@.......
...


🛠 注意点


必要であれば、任意のオフセットやバイト数の指定、逆アセンブル風の表示なども可能ですので、用途があればお知らせください。

ファイルパスおよび読み取るバイト数をパラメータとしたPowerShellスクリプトにしてください

以下は、PowerShellスクリプトファイル(例: hexdump.ps1)として使える形式で、 ファイルパスと読み取るバイト数をパラメータとして指定できるようにしたものです。


hexdump.ps1(スクリプト内容)