コマンドラインのJPEGエンコードプログラムであるcjpegを、マウスによるドラッグアンドドロップで簡単に扱えるようにするためのスクリプト(バッチファイル)です。
このバッチは複数のBMP(MozJPEG版cjpegを使用する場合は加えてJPEG)ファイル、及びディレクトリ(フォルダ)の入力に対応しています。 そのため大量のファイルを一度にエンコードすることが可能です。
入力されたディレクトリの相対的な構造は出力側でも保たれます。
Windowsが動作しているPC(動作確認はWindows7で行っています)と、同OS上で動作するようにコンパイルされたcjpegが必要です。
エンコーダであるcjpegは別途用意してください。cjpegはMozJPEG版を推奨します。
まず最初に初期設定を行います。
バッチファイルを適当なテキストエディッタで開きUSER SETTINGの項目にある
set BIN_DIST=""
となっている部分の引用句"
で囲まれた部分にcjpegの位置を挿入してください。
設定例(絶対パスで指定)
set BIN_DIST="c:_command\jpeg\cjpeg.exe"
設定例(バッチファイルの位置から相対パスで指定)
set BIN_DIST="bin\cjpeg.exe"
エンコードされたファイルの出力場所をエンコーダの場所の設定と同じように記述します。
set OUT_DIR=""
この箇所の引用句"
で囲まれた部分にエンコードしたファイルを出力する場所を挿入してください。パス最後のファイル名はディレクトリ名とみなされ、同名のディレクトリが存在しない場合は自動的に作成されます。
設定例(絶対パスで指定)
set OUT_DIR="c:\OUTJPEG"
c:\
のOUTJPEG
という名前のディレクトリを出力先とします。
またエンコーダの場所の設定と同様に相対パス指定も可能ですが、こちらはソースファイル(入力ファイル)の位置が基準になります。
設定例(ソースファイルの位置から相対パスでディレクトリを指定)
set OUT_DIR="OUTJPEG"
エンコーダであるcjpegに渡すオプションを設定します。設定出来るオプションは使用するcjpegによりますので、使用できるオプションを確認の上設定してください。
オプションは以下の=
の後に記述します。
set BIN_OPTION=
設定例
set BIN_OPTION=-quality 85 -baseline -optimize Qulality 85、ベースラインモード、ハフマンテーブル最適化有り
初期設定を変更することで、複数のQuality設定値での連続エンコードが可能です。
以下の部分を変更します。
set QUALITY_LO=0
set QUALITY_UP=0
QUALITY_LO
にはQualityの下限値を、QUALITY_UP
には上限値を設定します。
ここで有効な値を設定した場合は、エンコーダオプションの設定に設定されたQuality値は無視されます。
設定例
set QUALITY_LO=70 set QUALITY_UP=90 入力ファイル毎にQuality70から90の範囲でエンコードします。
この例では設定値によっては非常に多くのファイルが出力されることになるので注意してください。
初期設定が完了すれば、後はバッチファイルにBMP(JPEG)ファイルやBMPファイルが入っているディレクトリ(フォルダ)をドラッグアンドドロップすることでエンコードが始まります。
また複数のファイルやディレクトリをまとめて指定することも可能です。
特定の文字が入力ファイル名やパスに含まれている場合は、正しく動作しません。
-
対象ファイルやディレクトリの絶対パスに以下の文字が含まれていると正常に動作しません。
「!」及び、ShiftJISに含まれない文字
-
対象ディレクトリの絶対パスに以下の文字が含まれていると正常に動作しないことがあります。また動作した場合でもこれらの文字は無視されます。
「%」「^」
-
以下の文字列が対象ファイル名やディレクトリ名に含まれる場合は、バッチファイルへのドラッグアンドドロップで動作を開始できません。コマンドラインから引用符(ダブルクォーテーション)で対象をくくり、バッチファイルへ渡す必要があります。
「&」、「=」、「 」(全角スペース)
「全角スペース」以外は全て半角文字です。