CFEXECUTE  
説明

サーバーコンピュータ上で ColdFusion 開発者が指定したすべての処理を実行します。

 
カテゴリ

拡張タグ、フロー制御タグ

 
シンタックス
<cfexecute
   name = "application name"
   arguments = "command line arguments"
   outputFile = "output filename"
   variable = "variable name"
   timeout = "timeout interval">
   ...
</cfexecute>
 
関連項目

cfcollection、cfindex、cfobject、cfreport、cfsearch、cfwddx

 
ヒストリ

ColdFusion MX 6.1:

  • variable 属性が追加されました。
  • outputFile 属性のファイルパスの動作が変更されました。outputFile 属性に絶対ファイルパスを指定しなかった場合は、ColdFusion のテンポラリディレクトリを基準とした相対パスになります。

 
使用方法

cfexecute の開始タグと終了タグの間には、他の ColdFusion のタグや関数を指定しないでください。cfexecute タグはネストできません。

 
例外

次の例外が発生します。

  • アプリケーション名が見つからない場合 : java.io.IOException
  • ColdFusion の実行スレッドを認可されたユーザーが、プロセスの実行権限を持っていない場合 : セキュリティ例外

タイムアウト値は、0 から、オペレーティングシステムでサポートされる最大タイムアウト値までの値でなければなりません。

 
<h3>cfexecute</h3>
<p>この例では、Windows NT バージョンの netstat ネットワーク監視プログラムを実行し、その出力をファイル
に格納します。

<cfexecute name = "C:WinNTSystem32netstat.exe"
   arguments = "-e" 
   outputFile = "C:Tempoutput.txt"
   timeout = "1">
</cfexecute>
NAME  
  必須
 

実行するアプリケーションの絶対パスです。

Windows では、C:myapp.exe のように拡張子を指定する必要があります。

ARGUMENTS  
  オプション
 

アプリケーションに渡されるコマンドライン変数です。文字列として指定された場合は、次のように処理されます。

  • Windows の場合 : プロセスコントロールサブシステムに渡されて、解析されます。
  • UNIX の場合 : 引数の配列に置き換えられます。デフォルトのトークンセパレータはスペースです。スペースが埋め込まれた引数を二重引用符 (") で区切ることもできます。

配列として渡された場合は、次のように処理されます。

  • Windows の場合 : 要素はトークンの文字列に連結され、スペースで区切られます。プロセスコントロールサブシステムに渡されて、解析されます。
  • UNIX の場合 : 要素は exec() 引数の配列にコピーされます。
OUTPUTFILE  
  オプション
 

プログラム出力の送信先となるファイルです。outputFile 属性または variable 属性を指定しなかった場合は、出力は呼び出し元のページに表示されます。

絶対パス (ドライブ文字とコロン、あるいはスラッシュまたは円記号から始まるパス) を指定しなかった場合は、GetTempDirectory 関数から返される ColdFusion テンポラリディレクトリを基準とする相対パスになります。

VARIABLE  
  オプション
 

プログラム出力を保管するための変数です。outputFile 属性または variable 属性を指定しなかった場合、出力は呼び出し元のページに表示されます。

TIMEOUT  
  オプション
 
Default value: "0"

生成されたプログラムからの出力を ColdFusion が待機する時間を秒単位で指定します。

  • 0: 非ブロックモードに相当します。
  • 非常に大きい値: ブロックモードに相当します。

値が 0 の場合、次の処理が行われます。

  • 処理が開始され、すぐに返されます。プログラムの出力が表示される前に、呼び出しページに制御権が返される場合があります。プログラムの出力を確実に表示するには、値を 2 以上に設定してください。
  • outputFile 属性を指定しない場合、プログラムの出力は破棄されます。