Pandoc は、 HTML や、 Markdown, Textile, LaTeX などはじめとした、豊富な各種マークアップ形式を、別の形式に変換できるコマンドラインツールだ。
例えば、 textile → markdown 変換 とか、 HTML → markdown 逆変換 といったようなことができる。
何ができるかは、 Pandoc ユーザーズガイド あたりを参照してほしい。
さて、 この Pandoc の Windows 版は msi のインストーラ形式でしか配布されていない。
このインストーラでインストールすると、 ユーザディレクトリの %LOCALAPPDATA%\Pandoc\
(もしくは %ProgramFiles(x86)%\Pandoc\
) に実行ファイルを展開して、 PATH を通してくる。
どうやら、システムディレクトリにファイルを置いたりしないようなので、 正直これだけのためにインストーラを実行して、 PATH や レジストリを汚すようなことをしたくない。
ということで、 msi インストーラから、 インストールをせずに実行ファイルだけ取り出して、 Portable 版を作成してみよう。
Pandoc の msi インストーラを取得
なにはともあれ、まずは msi インストーラをダウンロードしてこよう。
GitHub のリリースページから、最新版を取得できる。
この記事の執筆現在 (2016-09-25) では、 バージョン 1.17.2 の pandoc-1.17.2-windows.msi
が最新版だ。
msiexec をつかって内部のファイルを取り出す
msiexec の、管理者用インストールポイント機能 (/a オプション) を使って、ファイルの展開を行なおう。
あらかじめ、展開先のディレクトリを作成しておき、 targetdir オプションで展開先を指定する。
msiexec は GUI ツールなので、start コマンドと併せて、
.msi ファイルがあるフォルダをカレントディレクトリにして、以下のようなコマンドを実行すると良いだろう。
mkdir "%TEMP%\pandoc\"
start /WAIT msiexec.exe /a pandoc-x.yy.zz-windows.msi /qn targetdir="%TEMP%\pandoc\"
このとき、注意しなくてはいけないポイントが 2点 ある。
- targetdir オプションに指定するディレクトリは、 フルパスで記述しなくてはならない。
- targetdir オプションに指定するディレクトリは、 入力 .msi ファイルが存在するディレクトリとは別にしなくてはならない。
コマンドの実行が完了すると、 %TEMP%\pandoc\Pandoc\
に pandoc.exe
や ユーザガイド等が 展開されるので、 適当なディレクトリに移動させよう。
PATH を通していなくても、 pandoc.exe
や pandoc-citeproc.exe
をフルパスで指定すれば、問題なく実行できる。