• Imagix 4D ユーザガイド
  • 目次

付録 B. バッチモード・コマンド

GUI ベースのアプリケーションによる操作にくわえて、コマンドラインを使用するバッチ処理として Imagix 4D を実行することができます。スケジュール通りに実行したいバッチファイル、例えばプロジェクト・データの再生成や、ドキュメントの再作成など、重要で反復的なタスクの実行に非常に有用です。

「imagix -cmmd cmmd_file_name」で Imagix 4D を起動することにより、バッチ処理として実行することができます。このモードで Imagix 4D が起動すると、コマンドファイル cmmd_file_name で指定されたコマンドを実行したのち、Imagix 4D は終了します。

以下に、使用可能なコマンドの説明を記載します。関連するレポート設定の説明を含めた、より詳細なドキュメントに関しては、../imagix/user/user_cmd.txt を参照してください。


コマンドファイルで使用できるコマンドは、次の通りです。

cmmdOpenProjectプロジェクトを作業状態にします。
cmmdUpdateProjectDataプロジェクトを更新します。
cmmdCalcDataFlowプロジェクトを再生成します。
cmmdRegenerateProjectDataグローバルデータフローデータベースを計算します。
cmmdCreateProjectExtractMakeログプロジェクトから抽出したプロジェクトを作成します。
cmmdCreateProjectMSVCSlnMSVCソリューションからプロジェクトを作成します。
cmmdCreateProjectMSVCProjMSVCプロジェクトからプロジェクトを作成します。
cmmdCreateProjectCppダイアログベース(C/C++)のプロジェクトを作成します。
cmmdCreateProjectJavaダイアログベース(Java)のプロジェクトを作成します。
cmmdLoadDeltaOtherProject既存の差分プロジェクトを読み込みます。
cmmdDeleteArchitecture既存のアーキテクチャを削除します。
cmmdDefineArchitecture新しいアーキテクチャを定義します。
cmmdReportレポートを出力します。
cmmdReportFile特定のファイルに関するレポートを出力します。
cmmdReportClass特定のクラスに関するレポートを出力します。
cmmdReportMultiple複数のレポートを出力します。
cmmdReportExport今後のインポート用にレポートを出力します。
cmmdReportFileExport今後のインポート用にファイルレポートを出力します。
cmmdReportClassExport今後のインポート用にクラスレポートを出力します。
cmmdReportExportMultiple今後のインポート用に複数のレポートを出力します。
cmmdMetricsメトリクスを出力します。
cmmdCalcMetricsメトリクスを計算しますが出力はしません。
cmmdGenStandardReview新しいレビューを完全に生成するためのコマンド
cmmdGenCustomReviewテンプレートから新しいレビューを生成するためのコマンド
cmmdCompareReviews既存の2つのレビューを比較するためのコマンド
cmmdDocumentドキュメントを作成します。
cmmdLog進捗メッセージをファイルに記録するためのコマンド
cmmdDebugデバッグトレースを作成します。

既存プロジェクトのオープンと更新

cmmdOpenProject project_name

プロジェクト project_name を作業状態にするコマンドです。project_name は必ず既存のプロジェクトを指定しなければなりません。また、このコマンドは [プロジェクトを開く] ([ファイル] > [プロジェクトを開く])と同じ機能となります。

cmmdUpdateProjectData

現在、作業状態のプロジェクトを更新するコマンドです。このコマンドは [プロジェクトデータを更新] ([プロジェクト] > [プロジェクトデータを更新])と同じ機能になります。

cmmdRegenerateProjectData

現在、作業状態のプロジェクトを再生成するコマンドです。このコマンドは [プロジェクトデータを再生成] ([プロジェクト] > [プロジェクトデータを再生成])と同じ機能になります。

cmmdCalcDataFlow

この手順は、グローバルデータフロー解析を計算し、その結果を [データフロー] で使用するデータベースに保存します。プロジェクトデータが更新されるたびに再計算が必要であり、計算時間が長くなることがあります。新しいグローバルデータフローの結果は、次回のGUIセッション中に [データフロー] で利用可能となります。

新規プロジェクトを作成

cmmdCreateProjectExtract project_name make_log [inc_file [options]]

この手順では、Makelogスタイルプロジェクトproject_nameからの抽出を定義します。このプロシージャは、makelog make_logを処理して、ロードするソースファイルと-I / -Dフラグを特定し、inc_fileを使用して特定のコンパイラとターゲットの分析を構成し、それらのソースファイルを分析します。

プロジェクトの作成は、GUIを介して完了するのが一般的に簡単です。これは、GUIにはかなりの数の組み込みエラーチェックがあるためです。対照的に、コマンドラインプロシージャのチェックは最小限です。

project_nameは、作成するプロジェクトの絶対パス名です。プロジェクトが既に存在する場合、またはプロジェクトのディレクトリの場所が存在しない場合、手順は失敗します。

make_logは、makelogの絶対パス名です。

inc_fileは、通常、[プロジェクト] > [データソース]ダイアログに表示されるコンパイラ構成ファイルの名前です。 inc_fileを省略することは、コンパイラとターゲットを「その他」に設定したままにすることと同等です。

optionsの指定は、ダイアログの[オプション]エントリフィールドに項目を入力することと同じです。複数のアイテムを指定する場合は、ブラケット{-a -b}を使用してリストを囲みます。

cmmdCreateProjectMSVCSln project_name msvc_slnfile [configuration [inc_file [options]]]

この手順では、MSVCソリューションスタイルプロジェクトproject_nameを定義します。この手順では、msvc_slnfileソリューションファイルを処理して、複数のMSVCビルド構成から選択するconfigurationを使用して、ロードするソースファイルと-I / -Dフラグを識別します。次に、inc_fileを使用してこれらのソースファイルを分析し、特定のコンパイラとターゲットの分析を構成します。

プロジェクトの作成は、GUIを介して完了するのが一般的に簡単です。これは、GUIにはかなりの数の組み込みエラーチェックがあるためです。対照的に、コマンドラインプロシージャのチェックは最小限です。

project_nameは、作成するプロジェクトの絶対パス名です。プロジェクトが既に存在する場合、またはプロジェクトのディレクトリの場所が存在しない場合、手順は失敗します。

msvc_slnfileは、MSVC .slnまたは.dspソリューションファイルの絶対パス名です。

configurationは、.slnファイルにリストされている特定の構成の名前です。省略すると、デフォルトの構成が使用されます。

inc_fileは、通常、[プロジェクト] > [データソース]ダイアログに表示されるコンパイラ構成ファイルの名前です。 inc_fileを省略することは、コンパイラとターゲットを「msvc_win」に設定したままにすることと同等です。

optionsの指定は、ダイアログの[オプション]エントリフィールドに項目を入力することと同じです。複数のアイテムを指定する場合は、ブラケット{-a -b}を使用してリストを囲みます。

cmmdCreateProjectMSVCProj project_name msvc_projfile [configuration [inc_file [options]]]

この手順では、MSVCプロジェクトスタイルのプロジェクトproject_nameを定義します。この手順では、msvc_projfileプロジェクトファイルを処理して、ロードするソースファイルと-I / -Dフラグを特定し、configurationを使用して複数のMSVCビルド構成から選択します。次に、inc_fileを使用してこれらのソースファイルを分析し、特定のコンパイラとターゲットの分析を構成します。

プロジェクトの作成は、GUIを介して完了するのが一般的に簡単です。これは、GUIにはかなりの数の組み込みエラーチェックがあるためです。対照的に、コマンドラインプロシージャのチェックは最小限です。

project_nameは、作成するプロジェクトの絶対パス名です。プロジェクトが既に存在する場合、またはプロジェクトのディレクトリの場所が存在しない場合、手順は失敗します。

msvc_projfileは、MSVC .vcprojまたは.vcxprojプロジェクトファイルの絶対パス名です。

configurationは、.vcprojファイルにリストされている特定の構成の名前です。省略すると、デフォルトの構成が使用されます。

inc_fileは、通常、[プロジェクト] > [データソース]ダイアログに表示されるコンパイラ構成ファイルの名前です。 inc_fileを省略することは、コンパイラとターゲットを「msvc_win」に設定したままにすることと同等です。

optionsの指定は、ダイアログの[オプション]エントリフィールドに項目を入力することと同じです。複数のアイテムを指定する場合は、ブラケット{-a -b}を使用してリストを囲みます。

cmmdCreateProjectCpp project_name source_dir [inc_file [options [include_dir]]]

この手順では、ダイアログベース(C / C ++)スタイルのプロジェクトproject_nameを定義します。この手順では、inc_fileを使用して特定のコンパイラとターゲットの分析を構成し、ルートディレクトリsource_dir以下のソースファイルを分析します。

プロジェクトの作成は、GUIを介して完了するのが一般的に簡単です。これは、GUIにはかなりの数の組み込みエラーチェックがあるためです。対照的に、コマンドラインプロシージャのチェックは最小限であり、プロジェクトに指定できるデータソースは1つだけです。

project_nameは、作成するプロジェクトの絶対パス名です。プロジェクトが既に存在する場合、またはプロジェクトのディレクトリの場所が存在しない場合、手順は失敗します。

source_dirは、ソースファイルのルートディレクトリの絶対パス名です。そのディレクトリとそのサブディレクトリの階層内のすべての.cおよびcppソースファイルが分析されます。

inc_fileは、通常、[プロジェクト] > [データソース]ダイアログに表示されるコンパイラ構成ファイルの名前です。inc_fileを省略することは、コンパイラとターゲットを「その他」に設定したままにすることと同等です。

optionsを指定することは、「ソースファイル」 の「PPフラグ」エントリフィールド、および/または [インクルードディレクトリ] タブの-I / -Sエントリフィールドに項目を入力することと同じです。複数のアイテムを指定する場合は、ブラケット{-a -b}を使用してリストを囲みます。

include_dirを指定することは、 [インクルードディレクトリ] タブの [ディレクトリ] エントリフィールドにルートディレクトリを入力することと同等です。省略すると、source_dirが使用されます。これは、「ソースファイルと同じルートディレクトリ」に相当します。

cmmdCreateProjectJava project_name source_dir [inc_file [options [class_dir [jar_dir]]]]

この手順では、ダイアログベース(Java)スタイルのプロジェクトproject_nameを定義します。この手順では、inc_fileを使用して特定のJava言語の分析を構成し、ルートディレクトリsource_dir以下のソースファイルを分析します。

プロジェクトの作成は、GUIを介して完了するのが一般的に簡単です。これは、GUIにはかなりの数の組み込みエラーチェックがあるためです。対照的に、コマンドラインプロシージャのチェックは最小限であり、プロジェクトに指定できるデータソースは1つだけです。

project_nameは、作成するプロジェクトの絶対パス名です。プロジェクトが既に存在する場合、またはプロジェクトのディレクトリの場所が存在しない場合、手順は失敗します。

source_dirは、ソースファイルのルートディレクトリの絶対パス名です。そのディレクトリ内のすべての.javaファイルとそのサブディレクトリの階層が分析されます。

inc_fileは、[プロジェクト] > [データソース]ダイアログに通常表示される言語構成ファイルの名前です。 inc_fileを省略することは、Java Langを「その他」に設定したままにすることと同じです。

optionsを指定することは、[ソースファイル] タブの [オプション] エントリフィールド、または [クラスパス] タブの [追加の-cpフラグ] エントリフィールドに項目を入力することと同等です。複数のアイテムを指定する場合は、ブラケット{-a -b}を使用してリストを囲みます。

class_dirを指定することは、「クラスパス」タブの「.classファイル」セクションの「ディレクトリ」エントリフィールドにルートディレクトリを入力することと同じです。省略した場合、「ソースファイルと同じルートディレクトリ」に相当するsource_dirが使用されます。

jar_dirを指定することは、「クラスパス」タブの「.jarファイル」セクションの「ディレクトリ」エントリフィールドにルートディレクトリを入力することと同じです。省略すると、.jarインポートは、Java言語(.inc)ファイルで指定されたクラスパスのみに制限されます。

差分解析リビジョン

cmmdLoadDeltaOtherProject project_name

この手順により、project_name の現在のステータスが、現在オープンされているプロジェクトとのデルタ解析のために読み込まれます。これは、 [プロジェクト] > [他のプロジェクトと比較] メニューアイテムを介して利用可能な [デルタ解析用のリビジョンをロード] ダイアログと同等です。

project_name はすでに存在するプロジェクトである必要があります。

この比較プロジェクトは、デルタ解析レポートを実行する前に読み込まれている必要があります。

サブシステム・アーキテクチャ

cmmdDeleteArchitecture arch_name

arch_name という名前の既存のアーキテクチャを削除するコマンドです。その名前のアーキテクチャが存在しない場合は、警告が生成されます。

このコマンドは、cmmdUpdateProjectData または cmmdRegenerateProjectData コマンドの実行後に、アーキテクチャの定義をソースコードと確実に同期するため、cmmdDefineArchitecture コマンドと併用して使用することが可能です。

cmmdDefineArchitecture hierarchy type arch_name

現在、開いているプロジェクトに対して新しいアーキテクチャを定義するコマンドです。

hierarchy には、アーキテクチャで表すコンテナの階層構造を指定します。hierarchy に設定可能な項目は、{Directory | Namespace | Package} です。

type には、アーキテクチャにインクルードする、最も低いレベルのシンボル型を指定します。type に設定可能な項目は、{Func | FuncVar} です。

arch_name には、アーキテクチャの名前を指定します。必ず、既存のアーキテクチャに使用されている名前を指定しなければなりません。

レポート

cmmdReport report_name [ file_name ]
cmmdReportExport report_name [ file_name ]

レポート report_name をファイル file_name に出力するコマンドです。cmmdReport の代わりに cmmdReportExport を使用すると、出力ファイルをのちにインポートすることで Imagix 4D に戻し、ブラウジングおよび遷移機能用に完全にタグ付けされた状態で全シンボル名を表示できるよう、出力ファイルには特殊なデータ部分が確保されます。

report_name には、[レポート] メニューに表示されるレポート名を使用します。スペースはアンダースコアに変換の上、ピリオドを2つ(..)を挿入して区切るフォーマットを適用する必要があります。例えば、[レポート] > [類似関数] は Similar_Functions となり、[レポート] > [ソースチェック] > [式] > [型変換の問題] は Source_Checks..Conversion_Issues となります。

file_name はファイル名のフルパスを記述します。file_name が省略されると、cmmdReport コマンドは、前回 Imagix 4D が対話(通常)モードで起動したときに [印刷] ダイアログで指定されたファイル、またはパイプにレポートを出力します。この場合 cmmdReport コマンドの実行前に、プリント出力を制御する変数を、コマンドファイルに記述することも可能です。プリント出力を制御する変数は [印刷] ダイアログ内の選択項目に対応しています。このため、これらの変数を設定すると、前回のインタラクティブ・セッションの設定が上書きされます。

変数設定
vtgPrint(Comment)string
vtgPrint(Output){ ToFile | PipeTo }
vtgPrint(PipeTo)string
vtgPrint(FileName)file_name

Windows で vtgPrint(Output)を PipeTo に設定することは、[印刷] ダイアログで [通常使うプリンターに設定] を選択することに相当します。

多くのレポート機能には、さまざまなオプション設定が用意されています。デフォルトの場合 cmmdReport コマンドは、前回 Imagix 4D が対話(通常)モードで起動したときの設定を使用します。しかし ../imagix/user/user_cmd.txt にリストされている変数をコマンドファイルに記述することで、コマンドが読み込む設定を明示的に制御することが可能です。

cmmdReportFile file report_name [ file_name ]
cmmdReportFileExport file report_name [ file_name ]
cmmdReportClass class report_name [ class_name ]
cmmdReportClassExport class report_name [ class_name ]

これらのコマンドは、cmmdReport や cmmdReportExport に変更を加えたもので、ファイルやクラスを右クリックしてコンテキストメニューを表示して使用するレポートをサポートします。

file には、レポート対象のファイル名を指定します。フルパス名の指定はオプションですが、同じ名前を持つファイルが複数存在する場合は、正確なインスタンスを確保します。

class には、レポート対象のクラス名を指定します。

report_name には、コンテキストメニューに表示されるレポート名を指定します。スペースはアンダースコアに変換する必要があります。例えば、 [新規をオープン] > [レポート] > [デルタ解析] は、Delta_Analysisとなります。

cmmdReportMultiple [ directory_name [ report_list [ skip_list ]]]
cmmdReportExportMultiple [ directory_name [ report_list [ skip_list ]]]

これらのコマンドは、指定された各レポートをディレクトリ directory_name に存在するファイルへ出力します。cmmdReportMultiple の代わりにcmmdReportExportMultiple を使用すると、出力ファイルをのちにインポートすることで Imagix 4D に戻し、ブラウジングおよび遷移機能用に完全にタグ付けされた状態で全シンボル名を表示できるよう、出力ファイルには特殊なデータ部分が確保されます。

出力ファイルの名前は自動的に生成されます。directory_name を省略すると、カレントプロジェクト(cmmdOpenProject コマンドにより作業状態となったプロジェクト)が保存されているディレクトリ内にある [レポート] サブディレクトリに、レポートが出力されます。

cmmdReportMultiple コマンドはデフォルトで、[レポート] メニューにある全レポート機能を実行します。report_list および skip_list を使用することで、実行する特定のレポートを制限することが可能です。cmmdReport コマンドでの指定と同様に、それぞれのレポートに report_name のフォーマットを使用してください。また各リストを {Similar_Functions Source_Checks..Conversion_Issues} のように、波括弧で囲みます。skip_list に記述されたものを除き、すべてのレポートを生成したい場合は report_list 引数 に、{} または all を指定してください。

ソフトウェア・メトリクス

cmmdMetrics [ directory_name [ symbol_type_list ]]
cmmdCalcMetrics [ symbol_type_list ]

cmmdMetrics コマンドは、カンマ区切り(CSV)のフォーマットで、シンボルメトリクスをファイルにエクスポートします。メトリクスを持つシンボルの型それぞれに対して、別々のファイルが作成されます。

出力ファイルの名前は自動的に生成されます。directory_name を省略すると、カレントプロジェクト(cmmdOpenProject コマンドにより作業状態となったプロジェクト)が保存されているディレクトリ内にある metrics サブディレクトリに、レポートが出力されます。

cmmdCalcMetrics コマンドはシンボルメトリクスを計算しますが、エクスポートは行いません。また cmmdMetrics の代替のコマンドとなり、Imagix 4D のプロジェクト・サイズが [特大] に設定されている場合にのみ有用となるため、計算されたメトリクスはセッション間でデータベースに格納されます(詳細は ユーザガイド に記載の「プロジェクト・リソース」のページを参照)。

両コマンドはデフォルトで、[レポート] メニューあるメトリクス・カテゴリすべてに対するメトリクスを生成します。symbol_type_list を使用することで、作成するメトリクス・ファイルを制限することが可能です。6種類のシンボル型すべてにおいて、symbol_type_list のデフォルト値は {directory file namespace class function variable} となります。

レビュー

cmmdGenStandardReview review_name checklist_name

この手順は、指定されたチェックリスト checklist_name に基づいて review_name という新しいレビューを生成します。チェックリストで指定されたすべてのチェックがレビューに含まれ、それらのチェックに対して定義されたすべての標準プローブがインポートされます。その後、[変更] > [チェックを自動的に実行] アクションが実行され、更新された review_name が保存され、その後閉じられます。

cmmdGenCustomReview review_name import_name

この手順は、既存のレビュー import_name をインポートして review_name という新しいレビューを生成します。import_name に存在するすべてのチェックとプローブが review_name にインポートされます。これは、import_name と同じチェックリストベースの空のレビューを作成し、その後 [変更] > [レビューを review_name にインポート] を実行するのと同等です。その後、[変更] > [チェックを自動的に実行] アクションが実行され、更新された review_name が保存され、その後閉じられます。

cmmdCompareReviews review_1 review_2 [ level [ scope [ output_file ]]]

この手順は、2つのレビューを比較した .csv ファイルを出力します。これは、[レビュー] > [レビューを比較] メニューアイテムを実行するのと同等です。

level は比較の詳細レベルを指定します。増加する詳細順に、{check | step | probe} の有効な設定があります。デフォルトは probe です。

scope はプローブを比較する対象を指定し、level が プローブに設定されている場合にのみ適用されます。有効な設定は {review | inter | all | noratings} です。デフォルトは inter です。

output_file は生成される .csv ファイルのパス/名前を指定します。指定されていない場合、.csv ファイルは現在のプロジェクト(cmmdOpenProject 経由で開かれたプロジェクト)が存在するディレクトリ内の reviews サブディレクトリに出力されます。

ドキュメントの生成

cmmdDocument [ directory_name ]

このコマンドは、ディレクトリ directory_name にドキュメントを生成します。directory_name を省略すると、カレントプロジェクト(cmmdOpenProject コマンドにより作業状態となったプロジェクト)が保存されているディレクトリに基づき、ディレクトリ(../project_name.4DD)に直接ドキュメントが作成されます。

[ドキュメント化] ダイアログの設定は、セッション間で保持されます。デフォルトの場合、これらの設定はドキュメント作成時に使用されます。別の設定を利用したい場合は DocGen シートに必要な設定を指定し、ドキュメント生成プロセスの際にそのシートを適用してください。以下の変数は、DocGen シート以外で管理されたドキュメント設定を制御します。[ドキュメント化] ダイアログで示される通り、[フォーマット] と [ファイル] には、使用できない組み合わせが一部あります。

変数設定
dcgOptions(Style){ UseOptionsSettings | ApplyDocGenSheet }
dcgOptions(DocGenSheet)file_name_of_.dgn_file
dcgOptions(Format) { ASCII | RTF | HTML }
dcgOptions(File) { SingleFile | FileperSection | FileperSymbol }

サポート

cmmdLog [ logfile ]

Windows環境では、コマンドファイルが実行されている間、進捗ステートメントはポップアップウィンドウに表示されます。この手順により、同じ進捗ステートメントがLOGFILEに書き込まれます。LOGFILEは現在存在するディレクトリ内のファイルである必要があり、デフォルトでは [技術サポート] ダイアログに表示される場所になります。LOGFILEの設定がオフの場合、ログファイルへの書き込みが停止します。

この手順はWindows環境でのみ有用です。Linux環境では、進捗ステートメントはstderrに書き込まれ、そこからログファイルにリダイレクトできます。

cmmdDebug [ contents [ crashsppt [ tracefile ]]]

このコマンドは [ファイル] > [オプション] > [動作と外観] > [技術サポート] ダイアログで有効にした、デバッグトレースのサポートを重複して実行します。実行結果が保存されるトレースファイルは、特に dbgf コマンドとの連携に使用される、コマンドファイルの改善に役立ちます。

contents は、ダイアログ内のコンテンツの選択項目から1つを選択するか、デバッグトレースを無効にする [オフ] を必ず指定してください。デフォルト値は Essentials です。crashsppt は 0 か 1 のいずれかの値となり、デフォルト値は 1 となります。tracefile は既存のディレクトリにあるファイルを指定しなければならず、デフォルト値は [技術サポート] ダイアログに表示される場所です。