fcivは使い辛いしGet-FileHashはPowerShellのバージョンによっては使えないし良い方法は無いかと探したところ、certutilコマンドでメッセージダイジェスト*1を表示できることがわかったのでメモ。
certutil [オプション] -hashfile ファイル名 [ハッシュ関数]
(例)certutil -hashfile c:\test.txt MD5
- ハッシュ関数
- MD2
- MD4
- MD5
- SHA1 [デフォルト]
- SHA256
- SHA384
- SHA512
あとはcertutilコマンドをバッチファイルにした下記のmd5sum.batやsha1sum.batをsendtoに置いてから右クリックの「送る」でファイルを放り込めば、メッセージダイジェストが表示される。
ちなみにsendtoに移動するにはエクスプローラを開いてアドレスバーにsendtoと入れてEnterキーを押せば良い。
md5sum.bat
@echo off certutil -hashfile "%~1" MD5 pause
sha1sum.bat
@echo off certutil -hashfile "%~1" SHA1 pause
関連エントリ
Windows 8.1でメッセージダイジェストを確認するためにGet-FileHashコマンドレットを使うことにした
Windowsでメッセージダイジェストを確認するためにfcivを使うことにした
certutilコマンドの非公開なオプションを表示する方法
追記(2015/5/27)
ハッシュ関数が小文字だとエラーになる場合があるので大文字に修正。
*1:ハッシュ値