スクリプトからCLIコマンドを実行したい

キーワード:CLI,非対話,コマンド,システムプロパティ,外部アプリケーション起動,環境変数
シナリオ一覧に戻る

概要

スクリプトからCLIコマンドを実行したい場合、CLI Consoleの非対話モードを使用します。
CLI Consoleの非対話モードについては、「非対話モードの実行」を参照してください。
本シナリオでは非対話モードの実行方法のうち、「コマンド設定ファイルを指定して実行する」を使用します。

サンプルプロジェクトの説明

CLI Consoleの非対話モードを「外部アプリケーション起動」で実行します。


処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. システム・プロパティロジック」でCLI Consoleのパスを作成します。
  2. 外部アプリケーション起動処理」でCLI Consoleの非対話モードを実行します。

ポイントとなる機能

名前 説明 ツールパレット上の場所
外部アプリケーション起動処理 外部アプリケーションを呼び出します。 「基本」-「処理」-「外部アプリケーション起動」

処理のポイント

CLI Consoleの非対話モードでは「コマンド設定ファイル」に設定したCLIコマンドが実行できます。
本シナリオで使用するコマンド設定ファイルには、CLIコマンド「memstat」が指定されています。
コマンド設定ファイルの詳細については、「コマンド設定ファイルの記述方法」を参照してください。

外部アプリケーション起動処理で、cmd.exe(コマンドプロンプト)からCLI Consoleの非対話モードを実行します。
外部アプリケーション起動処理から直接CLI Consoleを実行せず、cmd.exeからCLI Consoleを実行することで、実行結果をファイルへリダイレクトすることができます。
ファイルへリダイレクトすることで、CSV読み取り処理で実行結果を読み取り、後続処理で使用することができます。

本サンプルを使用した実装例については、以下の逆引きリファレンスを参照してください。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトファイル名 rl_reference_095.zip
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_095.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_095.zip」を展開後に作成される「rl_reference_095プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_095プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_095.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

スクリプトの作成手順

プロセスフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. CLI Console実行時の設定として使用するスクリプト変数を作成します。

  2. デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。

  3. 変数代入処理のMapperエディタを開き、システム・プロパティロジックを使用し、インストールディレクトリをスクリプト変数に代入します。

  4. デザイナのツールパレット「基本」-「処理」-「外部アプリケーション起動」から、外部アプリケーション起動処理をスクリプトキャンバスに配置します。

  5. スクリプトを実行し、正常終了すれば成功です。