スクリプト エンコーダの構文

ユーザーがスクリプト ソース コードを簡単に表示したり変更したりできないように、スクリプト ソース コードをエンコードします。

構文

SCRENC [/s] [/f] [/xl] [/l defLanguage] [/e defExtension] inputfile outputfile

スクリプト エンコーダの構文の指定項目は次のとおりです。

指定項目 説明
/s 省略可能です。このスイッチを使うと、スクリプト エンコーダを画面への出力が行われないサイレント モードで実行できます。このスイッチを省略すると、詳細が画面に出力されます。
/f 省略可能です。入力ファイルを出力ファイルで上書きします。このオプションを指定すると、元の入力ファイルの内容が消されます。このスイッチを省略すると、ファイルは上書きされません。
/xl 省略可能です。.ASP ファイルの先頭に @language ディレクティブが追加されないようにします。このスイッチを省略すると、すべての .ASP ファイルに対して @language ディレクティブが追加されます。
/l defLanguage 省略可能です。エンコード中に使用する既定のスクリプト言語 (JScript または VBScript) を指定します。このオプションで指定した言語属性は、エンコード対象のファイル内のスクリプト ブロックのうち、言語属性が含まれていないスクリプト ブロックに適用されます。このスイッチを省略すると、HTML ページおよびスクリプトレットの場合は JScript が既定の言語として、ASP (Active Server Pages) の場合は VBScript が既定の言語として使用されます。テキスト ファイルの場合は、ファイル拡張子が .js と .vbs のどちらであるかに応じて既定のスクリプト言語が決定されます。
/e defExtension 省略可能です。入力ファイルを特定のファイルの種類に関連付けます。たとえ入力ファイルに認識可能なファイルの種類に該当するコンテンツが含まれても、認識可能なファイル拡張子が付けられていなければ、入力ファイルの拡張子からファイルの種類を判別できません。そのような場合は、このオプションが役立ちます。このオプションには、既定値はありません。このオプションを省略した場合、認識できない拡張子を持つファイルに対して、スクリプト エンコーダを実行できません。認識可能なファイル拡張子は、asa、asp、cdx、htm、html、js、sct、および vbs です。
inputfile 必ず指定します。エンコードする入力ファイルの名前です。現在のディレクトリを基準とする相対パス情報を必要に応じて含めます。
outputfile 必ず指定します。生成する出力ファイルの名前です。現在のディレクトリを基準とする相対パス情報を必要に応じて含めます。

解説

スクリプト エンコーダで処理できるファイルには、以下の 4 種類があります。

  • ASP ファイル。有効な HTML ブロックと <SCRIPT> ... </SCRIPT> タグまたは <% ...%> タグで囲まれた埋め込みスクリプト ブロックが含まれているテキスト ベースの ASP (Active Server Pages) ファイルです。この形式のファイルは、Microsoft Internet Information Services (IIS) などのアプリケーションで使用されます。認識可能なファイル拡張子は、.asp、.asa、.cdx です。
  • HTML ファイル。有効な HTML ブロックと埋め込みスクリプト ブロックが含まれているテキスト ファイルです。この形式のファイルは、Microsoft FrontPage や Microsoft Visual InterDev など、ほとんどすべての Web 設計ソフトウェアおよび Web ブラウザで使用されます。認識可能なファイル拡張子は、.htm および .html です。
  • テキスト ファイル。タグで囲まずにスクリプトだけを記述したテキスト ファイルです。この形式のファイルは、Windows Scripting Host (WSH) や Microsoft Outlook などのアプリケーションで使用されます。認識可能なファイル拡張子は、.js および .vbs です。エンコード後、.js 拡張子は .jse に、.vbs 拡張子は .vbe にそれぞれ変更されます。
  • スクリプトレット。有効なスクリプトレット コードを <SCRIPT> ... </SCRIPT> タグで囲んで記述したテキスト ファイルです。認識可能なファイル拡張子は、.sct および .wsh です。

使用例

ここでは、スクリプト エンコーダの使用例をいくつか示し、得られる結果について簡単に説明します。

次の例では、入力ファイル test.html をエンコードし、出力ファイル encode.html を生成します。

screnc test.html encode.html

次の例では、入力ファイル test.html をエンコードし、エンコード後の出力ファイルで入力ファイルを上書きします。

screnc /f test.htm

次の例では、現在のディレクトリに格納されているすべての .ASP ファイルをエンコードし、エンコード後の出力ファイルを c:\temp に書き込みます。

screnc *.asp c:\temp

次の例では、現在のディレクトリに格納されているすべてのファイルを .ASP ファイルとしてエンコードし、エンコード結果を c:\temp に書き込みます。

screnc /e asp *.* c:\temp

次の例では、入力ファイル test.htm をエンコードし、出力ファイル encode.htm を生成します。言語属性が設定されていないスクリプト ブロックに対して VBScript を既定の言語として使用するように指定しています。

screnc /l vbscript test.htm encode.htm

次の例では、現在のディレクトリに格納されているすべてのスクリプトレット ファイルをエンコードし、エンコード後のファイルでスクリプトレット ファイルを上書きします。その際、画面にメッセージを表示しません。

screnc /s /f *.sct

参照

スクリプト エンコーダの概要 | スクリプト エンコーダを使用する | スクリプト エンコードのサンプル