マクロファイル指定(ismacro)

OPTPiX ImageStudio 8 をインストールしたフォルダ内には、 ismacro.exe(以下、ismacro)という実行ファイルがあります。この ismacro について、解説します。

概要

ismacroは、コマンドラインパラメーターからマクロ実行データを生成し、ImageStudio 8 のマクロ機能を起動するプログラムです。

ismacroは、「コマンドライン対応オプション」を付与したライセンスのみで使用可能です。
「コマンドライン対応オプション」付与については「お問い合わせ」ください。

マクロコマンドラインは ImageStudio 8 の「マクロの編集と実行」機能で保存したマクロファイル(.ismacro)を使用します。
追加スイッチにより内部パラメーターについて変更後、マクロ処理を実行します。

「単独機能を実行する」の設定については、スイッチでの変更は行なえません。 ImageStudio 8 を使用して、事前に設定を行いマクロファイル保存してください。

プロセスの動作について

  • マクロ処理が正常に動作できた場合、プロセスの戻り値は 0 です。
    • 処理中にファイルが読み込めないといった、マクロ処理側のエラーは、プロセスのエラーにはなりません。
  • マクロ処理が動作できない場合、戻り値は 0以外のエラーコードになります。
  • テキスト出力結果をファイルへリダイレクト指定すると、従来のコマンドプロンプトからはBOM付きUTF-8形式で、PowerShellからはBOM付きUTF-16形式で、それぞれ出力されます。
    • 現在のバージョンでは、ファイルではなく他プログラム(moreコマンドなど)へのパイプリダイレクトを行うと、文字化けが発生するケースが確認されています。ご注意ください。

コマンドラインスイッチ解説

仕様

  • スイッチは長い名前と省略形があり、長い名前は連続ハイフン(–)と名称、省略形は単独ハイフン(-)と1文字で構成されています。
    • どちらを使用しても動作に違いはありません。
  • 大半のスイッチは引数が必要です。スイッチに続けて引数を記述する場合、基本的にはスペースで区切ってください。
    • 短い名前はスペース無しに続けて引数を記述。
    • 長い名前はスペースの代わりにイコール(=)で引数を続けて記述。
  • 長い名前は他のスイッチと重複しない限界まで短縮することができます。
    • 例: –ifile–if–idir–id と記述できます。 ただし、–i だと判別できないためNGです。

上記の仕様は、UNIX系コマンドラインツールの標準的な動作におおむね準拠しています。
後述する、マクロファイル名についてはスイッチの指定が不要、直接記述できます。

記述例

ismacro.exe C:¥folder¥sample.ismacro -i C:¥input -oC:¥output -npng --otype=jpg -r0
ismacro.exe C:¥folder¥sample.ismacro -lC:¥filelist.txt --it png --ot=jpg

必須指定項目

マクロファイル名の指定

マクロファイル名(スイッチ不要)

動作させるマクロファイル名を指定します。スイッチはありません。
指定は必須。コマンドラインでの指定位置はスイッチ類の後に記述することもできます。

入力元ファイルの指定方法

入力元ディレクトリの指定

–idir(省略形:-i、短縮形:–id)

入力元ディレクトリの指定を行います。
ilist、istdin、ifileとの同時指定はできません。

マクロ設定の「入力元ファイルの指定方法」に「フォルダー内のファイルを検索」を指定したものとして扱います。
相対パス形式で記述した場合、プロセスのカレントディレクトリを基準として絶対パスの解決をおこない、そのパスを使用します。

入力元リストファイル名の指定

–ilist(省略形:-l、短縮形:–il)

入力元ファイルのリストを記述したファイル名の指定を行います。
idir、istdin、ifileとの同時指定はできません。

マクロ設定の「入力元ファイルの指定方法」に「リストファイルで指定」を指定したものとして扱います。

入力元ファイル一覧をプロセスの標準入力から指定

–istdin(省略形:-d、短縮形:–is)

入力元ファイルの一覧をプロセスの標準入力から得たい場合に指定します。
idir、ilist、ifileとの同時指定はできません。

他プログラムの出力結果を、ファイル一覧としてパイプ経由でismacroに渡したい場合などにご利用ください。
元のマクロ設定で「入力元ファイルの指定方法」が「ドロップしてファイルを指定」になっていた場合、このスイッチが指定されているのと同じ動作になります。
標準入力へ流し込む文字列は、改行区切りで複数ファイルを指定できます。BOM付きの UTF-8 または UTF-16 のバイト列で構成してください。BOMが無い場合、Windows環境ではOS標準文字コード(日本語ならShiftJIS)、macOS環境ではUTF-8とみなして文字列解析処理を行います。

このスイッチをセットした場合、マクロ設定の「入力元ファイルの指定方法」に「ドロップしてファイルを指定」を指定したものとして扱います。

使用例

ファイルの中身をリストとしてのみ使用する場合は、入力元リストファイル名の指定(ilist) をご使用ください。

.ismacro.exe C:¥macro¥sample.ismacro -d < C:¥filelist.txt
someprogram.exe | .¥ismacro.exe C:¥macro¥sample.ismacro --istdin

入力ファイルの指定

–ifile(省略形:-f、短縮形:–if)

入力ファイルをひとつ指定します。
idir、ilist、istdinとの同時指定はできません。

このスイッチは複数回使用することで、入力ファイルを複数追加することが可能です。
指定したファイルがディレクトリの場合、ディレクトリ内のファイルを検索して入力ファイルとします(idirとほぼ同じ動作)。
このスイッチの動作は ImageStudio 8 のマクロダイアログでは指定できず、コマンドライン版の独自機能です。
相対パス形式で記述した場合は、プロセスのカレントディレクトリを基準として絶対パスの解決をおこない、そのパスを使用します。

使用例
ismacro c:¥sample.ismacro --ifile c:¥in1.jpg --ifile c:¥in2.jpg --ifile c:¥in3.jpg  --odir c:¥out
idirとの違い

idirは、指定したディレクトリから処理するファイルまでの相対パスが保持され、ファイル出力の際に相対パス中のサブディレクトリが維持されます。
ifileでディレクトリを指定すると、ディレクトリの検索が行われ、出力先ディレクトリ直下にファイルが保存されます。

「サブフォルダーも検索する」の指定内容を変更

–recursive(省略形:-r)

このスイッチをセットすると、マクロ設定の「サブフォルダーも検索する」の指定内容を変更します。

引数に true または yes または 1 を指定した場合は 設定オン、false または no または 0 を指定した場合は 設定オフ になります。

入力ファイル形式の指定

–itype(省略形:-n、短縮形:–it)

入力ファイル形式を指定します。

png」「jpg(jpeg)」「bmp」「webp」など指定できます。(ImageStudio 8 のマクロ機能での対応形式に準拠)。 all にした場合、「すべての対応形式」を指定したものとして扱われます。コロン・セミコロン・スラッシュ(,;/)のいずれかで区切ることで、複数形式を指定できます。ImageStudio 8 のGUIダイアログでは複数指定は行えません、コマンドライン版の独自機能です。

--itype png,jpg

指定は曖昧な表記も許容されます。(jpegとjpg、tiffとtif、tim2とtm2、jpegxrとjxrなど)

isloadファイルの指定

–loadopt(省略形:-q、短縮形:–lo)

ファイル読み込み設定を記述した、.isloadファイルを指定します。

読み込んだ設定は、マクロファイル上での設定をすべてリセットした上で合成されます、.isloadには処理に必要なすべての拡張子分の設定を含めてください。

出力先の指定方法

出力先ディレクトリを指定

–odir(省略形:-o、短縮形:–od)

出力先にディレクトリを指定します。
ofile 、osourcedir との同時指定は行えません。

このスイッチをセットした場合、マクロ設定の「出力先の指定方法」に「フォルダー指定」を指定したものとして扱われます。
相対パス形式で記述すると、プロセスのカレントディレクトリを基準として絶対パスの解決をおこない使用されます。

出力ファイルを指定

–ofile(省略形:-e、短縮形:–of)

出力ファイルをひとつだけ指定します。
odir、osourcedirとの同時指定はできません。

入力ファイルの指定(ifile)とは異なり、複数回使用することはできません。複数回指定しても最後に指定したものだけが使われます。
このスイッチの設定は ImageStudio 8 のマクロダイアログでは指定できません、コマンドライン版の独自機能です。

このスイッチを使用した場合、出力ファイルがひとつしか指定されないため、入力元ファイルが2個以上検出された場合エラーとなり、マクロは実行されません。基本的に 入力ファイルの指定(ifile)スイッチとのコンビで使用します。また、出力形式の指定(otype)での形式指定は無視され、出力ファイルの拡張子から自動判定されます。

相対パス形式で記述した場合は、プロセスのカレントディレクトリを基準として絶対パスの解決をおこない使用されます。

使用例

ismacro c:¥sample.ismacro --ifile c:¥in.jpg --ofile c:¥out.png

出力先を入力元ファイルと同じディレクトリに設定

–osourcedir(省略形:-u、短縮形:–os)

ファイルの出力先を元ファイルと同じディレクトリに設定します。
odir、ofileとの同時指定はできません。引数はありません。

マクロ設定の「出力先の指定方法」に「元ファイルと同じフォルダー」を指定したものとして扱います。
サブフォルダーに出力」の指定も必要な場合は、サブフォルダー出力の指定(subdirスイッチ)を併用して設定してください。

サブフォルダー出力の指定

–subdir(省略形:-b)

出力先ディレクトリの下に作成するサブディレクトリ名を指定します。

出力先を入力元ファイルと同じディレクトリに設定(osourcedir)が指定されているか、マクロ設定で「出力先の指定方法」が「元ファイルと同じフォルダー」に指定されている場合のみ使用されます。
このスイッチを指定すると、マクロ設定の「サブフォルダーに出力」を指定したものとして扱います。

すでにサブフォルダーに出力を行う設定になっているマクロファイルに対して、その設定をオフにする場合、次のようにイコール記号を付けた空パラメーターを指定してください。

--subdir=

出力形式の指定

–otype(省略形:-m、短縮形:–ot)

出力ファイルの形式(フォーマット)を指定します。

png」「jpg(jpeg)」「bmp」「webp」などが指定できます(ImageStudio 8 のマクロ機能での対応形式に準拠)。
auto にした場合、「元ファイルと同じ形式」を指定したものとして扱われます。
指定はある程度曖昧な表記が許容される(jpeg と jpg、tiff と tif、tim2 と tm2、jpegxr と jxr など)。

出力ファイルを指定(ofile)を使用している場合、指定は無効。出力形式は出力ファイルの拡張子から判定されます。

issaveファイルの指定

–saveopt(省略形:-v、短縮形:–sa)

ファイル保存設定を記述した、.issaveファイルを指定します。

読み込んだ設定は、マクロファイル上での設定をすべてリセットした上で合成されます、.issaveには処理に必要なすべての拡張子分の設定を含めてください。

その他の機能

アクションファイルの指定

–action(省略形:-a)

実行するアクションファイルを指定します。

このスイッチをセットした場合、マクロ設定の「処理内容」に「アクションファイルを実行する」を指定したものとして扱います。
アクション実行を行う設定になっているマクロファイルに対して、アクション実行を行いたくない(「ファイル形式の変換のみ」設定にしたい)場合は、次のようにイコール記号を付けた空パラメーターを指定します。

--action=

「出力先ファイルが存在していたらスキップ」の指定変更

–skipifexists(省略形:-s)

マクロ設定の「出力先ファイルが存在していたらスキップ」の指定内容を変更します。

引数に true または yes または 1 を指定した場合は設定オン、false または no または 0 を指定した場合は設定オフになります。

「元ファイルが出力先ファイルより新しければスキップせずに処理する」の指定変更

–processifupdated(省略形:-p)

マクロ設定の「元ファイルが出力先ファイルより新しければスキップせずに処理する」を強制的に設定オンにして、「出力先ファイルが存在していたらスキップ」の指定内容を変更します。
出力先ファイルが存在していたらスキップ(--skipifexists)の指定は無視されます。

引数に true または yes または 1 を指定した場合は設定オン、false または no または 0 を指定した場合は設定オフになります。

一般メッセージ出力の抑制

–silent(省略形:-z、短縮形:–si)

コンソールへの一般メッセージの出力を抑制します。
エラーメッセージは出力されます。

ログファイル名の指定

–log(省略形:-g)

ログを保存するファイル名を指定します。

マクロ設定の「ログファイルを保存する」を有効化したものとして扱います。
ログファイルを保存する設定になっているマクロファイルに対して、ログ保存を行いたくない(設定をオフにしたい)場合は、次のようにイコール記号を付けた空パラメーターを指定してください。

--log=

関連ページ