2019/11/02WSHでコードを書くための基礎知識とサンプルの実行例です。Worldお決まりの実行テストです。World.');動作しない場合ファイルをUTF-8BOMありで保存した場合、「文字がただしくありません。」エラーを発生させて動作を停止します。ファイル先頭のBOMを解釈できず動作しません。ファイルをUTF-8BOMなしで保存して、コード内に全角文字を含む場合、「終了していない文字列型の定数です。」エラーを発生させて動作を停止する可能性があります。WSHでは、基本的にWindows標準のShift_JISで文字列を解釈するため、UTF-8を解釈できず動作しない可能性があります。WSHは、Shift_JISかUTF-16BOMありで保存して、実行してください。おすすめは、UTF-16BOMありです。事前知識WSH関連の基礎知識です。js/jseファイルjsは、JavaScriptのファイル拡張子です。jseは、JScriptのファイル拡張子です。Windowsは、標準でwscriptが関連付けされており、ダブルクリックで実行できます。wsfファイル外部スクリプトをロードして実行できるWSHのファイル形式です。WSHでは、「.js」「.jse」「.wsf」などの拡張子を使用できます。実行ファイルを複数ファイルに分割した場合、「.wsf」を使用することが無難です。]]>(CDATAセクション)を記述してスクリプト要素で使用する文字がXMLの予約文字と見なされないようにします。CDATAセクションを使用する場合は、<?XML?>宣言を使用してください。</job></package>polyfillWSHは、IE8環境で動作します。IE11がインストールされている場合でもスクリプトはIE8の環境で動作します。そのため、JavaScriptの標準規格からかなり遅れた仕様で動作します。最新のJavaScript規格でないため、様々な問題が発生します。例として、下記関数が存在しません。Object.keysArray.isArrayArray.prototype.indexOfDate.nowString.prototype.trimFunction.prototype.bindWSHを最新環境に近づけるため、未定義の関数を追加しするのがpolyfillです。5環境でWSHを実行するために、es5-shim.jsの導入をすすめします。※WSHには、windowやdocumentのグローバル変数が存在しません。そのため、そのままではpolyfillを導入できないことがよくあります。JSONWSHは、JavaScriptですが標準のJSONクラスが存在しません。そのため、JSON.stringify()やJSON.parse()を使用できません。JSON使用したい場合、polyfillを導入する必要があります。詳細は、リンク先を参照してください。WSH(JScript)でJSONを使うデバッグWSHのコードデバッグ方法です。詳細は、リンク先を参照してください。6でclassの予約語が使用可能になりましたが、WSHではclassの予約語を使用できません。これは、polyfillでも対処できません。6以前からクラス表現を擬似的に再現できます。クラス表現方法は、各々の使いやすい方法を選択すると良いでしょう。選択肢の一例として、筆者の実現方法は下記リンク先の通りです。polyfill入れる場所のない、便利機能詰め合わせ補足ファイルの文字コードwsfファイルの文字コードは、BOM付きUTF-16を推奨します。Shift_JISも使用可能ですが、あまりおすすめできません。(UTF-8BOMなしと区別できなくなる可能性がある)UTF-8は、使用しないでください。スクリプトが動作しない可能性がります。動作しない場合』を参照。以下のコードを1回実行するとそれ以降、cscriptの実行時にロゴを非表示にできる。参考までに筆者の開発環境のファイル配置例を以下に示します。プロジェクト毎のメインフォルダ上記ファイル配置の場合、wsfファイルの外部スクリプト参照は以下のようになります。src="../common/FileUtility.js"/>サンプルサンプルスクリプトの実行例です。FileUtility.js「FileUtility.js」を保存するWSH用のファイル関連ライブラリです以下のようにファイルを配置する。下記のサンプル実行用の配置です。※下記のサンプルは、文字コードをUTF-16BOMありで保存してください。外部サイト以下のサイトが参考になります。