概要

ColdFusion 2016 には、ColdFusion サーバーを起動することなく、開発者が cfm スクリプトを実行するための新しいコマンドラインインターフェイス(CLI)があります。

cf.bat を使用して、CLI から cfm スクリプトを実行できます。cfm ファイルは、wwwroot または別の場所に配置できます。

ColdFusion の開発者は、次のものを用いてスクリプトを作成できます。

  • レポート、ログ、アーカイブなどのファイル操作。
  • 監視、デバッグなどのデータベース操作。
  • エラーログやスレッドダンプをシステム管理者に電子メール送信するなどのネットワーク操作。

実行

開発者は、実行する cfm スクリプトにコマンドラインからパラメーターを渡すこともできます。

パス

CFM へのパスは、絶対パスまたは相対パスを指定できます。絶対パスを指定すると、cfm のディレクトリが wwwroot として設定されます。相対パスを指定すると、現在の作業ディレクトリが wwwroot として設定されます。

引数

実行する cfm にコマンドラインから位置引数と名前付き引数を渡すことができます。

CLI は、次のメソッドで引数を読み込むことができます。

  • cli.getArgs() - すべての引数を取得します。
  • cli.getNamedArgs() - すべての名前付き引数を取得します。
  • cli.getUnnamedArgs() - 名前付き引数ではないすべての引数を CFML 配列として返します。指定がない場合は空の配列を返します。
  • cli.getArg(int index) - インデックス位置の引数を取得します。
  • cli.getNamedArg(String argName) - argName という名前付き引数の値を取得します。

cf.bat test.cfm 10 20 foo=bar


cli.getArg(1) returns 10

cli.getArg(2) returns 20
cli.getNamedArg("foo") returns bar

カスタムディレクトリ

CLI で、cfm の実行時に outputdir logdir を設定できます。デフォルトでは、クラスとログはどちらも temp フォルダーに作成されます。

使用方法:

cf.bat cliscript.cfm –outputdir=c:\cfclasses –logdir=c:\logs

Application.cfc

Application.cfc の検索は、wwwroot によって異なります。wwwroot は、cfm のパス(絶対または相対)に従って設定されます。Application.cfc では、onApplicationStart()onApplicationStop() および onError() メソッドのみがサポートされています。CLI では、セッションメソッドおよびリクエストメソッドはサポートされていません。

スコープ

CLI は、次のスコープをサポートしています。

  • application
  • argument
  • request
  • this

コマンドラインでの読み込み/書き込み

CLI はさらに、stdin および stdout/stderr それぞれに対して読み込みと書き込みを行う 3 つのメソッドもサポートしています。

  • cli.read() - stdin から 1 行読み込みます。
  • cli.writeln(message) - メッセージ文字列を stdout に書き込みます。
  • cli.writeError(errorMessage) - エラーメッセージ文字列を stderr に書き込みます。

readwrite.cfm
<cfset CLI.writeError("This is an error message from CLI writeError!")>
<cfset CLI.writeln("This is CLI write method!")>

使用方法

cf.bat readwrite.cfm >> c:\logFile.txt 2>> c:\errFile.txt

サポートしているその他の機能

CLI は、次の機能をサポートしています。

  • メール
  • Web サービス
  • アプリケーションデータソース

その他の関数

  • cli.exit(exitCode) - ステータスコードを取り、指定された終了コードで終了してコマンドプロンプトに戻ります。

サポートしていない機能

次の機能は CLI でサポートされていません。

  • チャート作成
  • スケジュールされたタスク
  • PDF 機能
  • ドキュメント
  • REST
  • Solr
  • Flex 統合
  • DotNet 統合
  • WebSocket
  • Image 関数
  • API Manager 

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー