EXECUTE コマンド

Analytics の外部にあるアプリケーションやプロセスを実行します。Windows の Run コマンドをエミュレートします。Windows のコマンド プロンプトを操作するために使用できます。

メモ

EXECUTE コマンドでは、Analytics 外部のオペレーティング システムやアプリケーションを操作することができるため、Analytics のネイティブ機能の範囲を超えた技術的な問題が発生する可能性があります。

サポート チームでは、サポート 内における EXECUTE コマンドの操作の手助けはできますが、Analytics 外部のプロセスやアプリケーションで発生する問題についてはサポートの対象外です。

構文

EXECUTE Windows_Run_コマンド構文 <ASYNC>

パラメーター

名前 説明
Windows_Run_コマンド構文

実行するアプリケーションの名前、開くフォルダーまたはファイル、あるいは実行するコマンドと、任意の必要な引数やコマンド スイッチ。

引用符で囲まれた有効な Windows Run コマンドである必要があります。

ASYNC

任意

このコマンドを非同期モードで実行します。

非同期モードでは、Analytics スクリプトは、EXECUTE コマンドによって開始されたプロセスが完了するのを待たずに、実行を続行します。

ASYNC を省略した場合は、Analytics スクリプトが続行されるには、EXECUTE コマンドによって開始されたプロセスが完了する必要があります。外部プロセスが実行中の場合は、Analytics にはアクセスできません。

メモ

Analytics のコマンド ラインから EXECUTE を使用する場合は、ASYNC を指定する必要があります。

Analytics の出力変数

名前 含む
RETURN_CODE

EXECUTE コマンドを使用した外部アプリケーションまたはプロセス実行によって返されるコード(リターン コード)。

リターン コードの概要

リターン コードは外部アプリケーションまたはプロセスによって生成される数値であり、Analytics に返されることで外部プロセスの結果を示します。Analytics はリターン コードを出力せず、入力として受け付けるだけです。

一般的なリターン コード

通常、リターン コードは数値で、特定の通知やエラー メッセージが割り当てられています。たとえば、リターン コード "0" は "処理が正常終了した" ことを示します。リターン コード "2" は "指定されたファイルが見つからない" ことを示します。

特定のリターン コードの意味

特定のリターン コードとその意味は外部アプリケーションまたはプロセスによって異なります。リターン コードは "エラー コード" や "終了コード" とも呼ばれ、それらの意味は、関連する外部アプリケーションのドキュメントに記載されている可能性があります。リターン コードの一覧はインターネット上でも見ることができます。

デフォルト モードでのみ作成された変数

RETURN_CODE 変数は、デフォルト モードでEXECUTE コマンドが実行されるときに、作成されます。変数は、コマンドが非同期モードで実行されるときには、作成されません。

アプリケーションを開く

Microsoft Excel を開く:

EXECUTE "Excel"

Adobe Acrobat Reader を開く

EXECUTE "AcroRd32.exe"

アプリケーションを閉じる

Microsoft Excel を閉じる:

EXECUTE "TASKKILL /f /im Excel.exe"

メモ

/f スイッチは慎重に使用してください。これは、変更の保存を確認するダイアログ ボックスなど、一切のダイアログ ボックスを表示しないで、アプリケーションを強制的に閉じます。

ファイルを開く

以下の Excel ワークブック AP_Trans.xlsx を開きます。

EXECUTE '"C:\ACL Projects\Source Data\AP_Trans.xlsx"'

新しいフォルダーを作成

Source Data という名前の新しいフォルダーを作成します。

EXECUTE 'cmd /c MD "C:\ACL Projects\Source Data"'

外部スクリプト、または Analytics の外部のバッチ ファイル(.bat)を実行する

以下のスクリプト My_Batch.bat を実行します。

EXECUTE '"C:\ACL Projects\Batch Files\My_Batch.bat"'

Analytics の外部のバッチ ファイルにパラメーターを渡す

2 つのパラメーターを My_Batch.bat に渡します。パラメーターには、リテラルまたは Analytics 変数を指定できます。

EXECUTE '"C:\ACL Projects\Batch Files\My_Batch.bat" param1%v_param2%'

他の Analytics プロジェクトで Analytics スクリプトを実行する

AP Trans Tests.acl で「AP_Trans_script」を実行します。

EXECUTE 'aclwin.exe "C:\ACL Projects\AP Trans Tests.acl" /b AP_Trans_script'

メモ

別のプロジェクト内で Analytics スクリプトを実行すると、もう 1 つの Analytics インスタンスが起動されます。そのもう 1 つの Analytics インスタンスを閉じたら制御が 1 番目のインスタンスに戻るように、2 番目のプロジェクト内のスクリプトの末尾に QUIT コマンドを記述しておく必要があります。

Analytics スクリプトに待ち時間を組み込む

どちらの例も、30 秒の待ち時間を設けます。

EXECUTE "TIMEOUT /t 30"
EXECUTE "cmd /c PING -n 31 127.0.0.1 > nul"

備考

EXECUTE を使用して便利なタスクを実行する

EXECUTE コマンドは、Windows コマンドおよび DOS コマンドを Analytics のコマンド ラインから、または Analytics スクリプトから実行できるようにします。

この機能を使用すると、以下に挙げる多様で便利なタスクを実行することにより、Analytics スクリプトの自動化を向上させることができます。これらのタスクは、ACLScript 構文だけを使用しては不可能です。

EXECUTE 使用して開始できるタスクの例

他のプログラムやアプリケーションを開いて、Analytics スクリプトで必要なタスクを実行する バッチ ファイルにパラメーターを渡す ネットワークの場所からデータにアクセスする Active Directory アカウント一覧を組み込む
任意のファイルをその既定のアプリケーションで開く 他の Analytics プロジェクトで Analytics スクリプトを実行する FTP を使用して、リモートの場所からデータにアクセスする VBScript と統合する
Analytics の外に存在するファイルやフォルダーのコピー、移動、作成、削除、または比較などのファイルおよびフォルダーの管理タスクを実行する Analytics スクリプトに待ち時間を組み込む データを圧縮または解凍する SQL データベースと統合する
外部スクリプト、または Analytics の外部のバッチ ファイル(.bat)を実行する Analytics スクリプトに Windows のタスク スケジュールを組み込む データを暗号化または復号する Web ページを開く

メモ

これらのタスクのいずれかを実行する方法の具体的な詳細は、Diligent ヘルプ ドキュメントで記載していません。サポートが必要な場合は、適切な Windows オペレーティング システムのドキュメント、またはその他サード パーティのドキュメントを参照してください。

デフォルト モードと非同期モード

デフォルト モードまたは非同期モードで、EXECUTE コマンドを実行できます。

  • デフォルト モードEXECUTE で開始するプロセスは、Analytics スクリプトを続行する前に、完了する必要があります。

    外部プロセスが実行中の場合は、Analytics にはアクセスできません。

  • 非同期モードAnalytics スクリプトは、EXECUTE コマンドによって開始されたプロセスが完了するのを待たずに、実行を続行します。

    外部プロセスが実行中の場合は、Analytics にはアクセスし続けることができます。

    ASYNC 指定する場合、EXECUTE コマンドは非同期モードで実行されます。

使用するモード

EXECUTE コマンドを使用する Analytics スクリプトを作成する場合は、どちらのモードの操作が適切であるかを考慮する必要があります。

デフォルト モードを使用する 非同期モードを使用する / ASYNC
  • ファイルおよびフォルダー管理タスク
  • 待機期間の指定
  • 後続のタスクが依存するタスク
  • すぐ後のスクリプトの実行が RETURN_CODE 変数の結果に依存します
  • 外部タスクにより、アプリケーション インターフェイスまたはポップアップ ダイアログボックスが開きます

自動実行される Analytics スクリプト

EXECUTE コマンドを含む Analytics スクリプトを自動で実行する場合は、次のいずれかの方法を使用します。

  • タスクで非同期モードを使用することにより、アプリケーション インターフェイスまたはポップアップ ダイアログボックスが開きます
  • 自動スクリプトでインターフェイス要素を開かないようにします

メモ

インターフェイス要素が閉じるまで、実行中のプロセスを表します。これらのインターフェイス要素がデフォルト モードで EXECUTE とともに開く場合、Analytics スクリプトの後続の行は実行されず、スクリプトがハングします。

ロボットの EXECUTE コマンド

ロボットのアナリティクス スクリプトで、EXECUTEコマンドを使用する場合は、特に実行するコマンドを構成する必要があります。詳細については、ロボット エージェントの構成を参照してください。

二重引用符

EXECUTE コマンドで使用する Windows の Run コマンドの構文は、一重引用符または二重引用符で囲む必要があります。

次の例は、Windows MD コマンドを使用して新しいフォルダーを作成しています。

EXECUTE 'cmd /c md C:\New_Data_Folder'

ネストされた二重引用符

Run コマンド構文内のパスにスペースが含まれている場合は、そのパスも引用符で囲む必要があります。

引用符でパスを囲むときには、2 つのオプションがあります。

  • 一重引用符内の二重引用符一重引用符で Run コマンドの文字列全体を囲み、二重引用符で内部的にパスを囲みます。
    EXECUTE 'cmd /c md "C:\New Data Folder"'

    この方法の方が、2 番目の方法より視認性が高いかもしれません。

    メモ

    入れ子の順序を逆にする、つまり、二重引用符で文字列全体を囲み、一重引用符でパスを囲むと、動作しません。

  • 二重引用符二重引用符で Run コマンドの文字列全体を囲み、2 つの二重引用符で内部的にパスを囲みます。
    EXECUTE "cmd /c md ""C:\New Data Folder"""

    この 2 番目の方法を使用する場合、内部で使用される 2 つの二重引用符は直接隣接している必要があり、それらの間にスペースを入れることはできません。

内部コマンドおよび外部コマンド

Windows コマンドは、内部または外部のいずれかです。

  • 内部コマンドコマンド プロンプトからのみ実行できます。これはつまり、コマンドを指定する前に、cmd /c または cmd /k を用いて、コマンド シェルを開いておく必要があるということです。
  • 外部コマンドコマンド プロンプトからでも、直接 EXECUTE コマンドを用いても実行できます。これはつまり、コマンド シェルを開くことは任意であり、必須ではないということです。

次の例では、違いを説明するために、内部 Windows DIR コマンド(ディレクトリの内容を表示する)と外部Windows COMP コマンド(2 つのファイルを比較する)を使用しています。

EXECUTE 'cmd /k dir "C:\ACL DATA\Sample Data Files"'
EXECUTE 'comp C:\File_1.txt C:\File_2.txt'

Windows コマンドを含んでいる外部スクリプトまたはバッチ ファイルを作成し、バッチ ファイルを起動するためだけに EXECUTE コマンドを使用することによって、この複雑な事態を避けることができます。例:

EXECUTE 'C:\My_Batch.bat'

複数行の Run コマンド構文

EXECUTE コマンドは、複数行の Run コマンド構文をサポートしていません。Analytics スクリプトに複数行の Run コマンドを組み込むには、以下の方法のいずれかを使用します。

方法
Run コマンドごとに EXECUTE コマンドを繰り返します。
EXECUTE 'cmd /c md "C:\New Data Folder"'
EXECUTE 'cmd /c copy C:\File_1.txt "C:\New Data Folder"'
'&' を使用して、複数の Run コマンドを結合します。
EXECUTE 'cmd /c md "C:\New Data Folder" & copy C:\File_1.txt "C:\New Data Folder"'
複数行の Run コマンドを含んでいる外部スクリプトまたはバッチ ファイルを作成し、バッチ ファイルを起動するためだけに EXECUTE コマンドを使用します。
EXECUTE 'C:\My_Batch.bat'