質問: WScript.CreateObject("Scripting.FileSystemObject"); ``` という記述の部分で ``` SCRIPT5009: SCRIPT5009: 'WScript' is not defined ``` というエラーが表示されてしまいました。 参考にしたサイトでは特に設定をしなければならないことについては何も言及されていなかったのですが、何か設定というか追加せねばならない記述などがあるのでしょうか?分かる方回答お願いします。
回答: WSHでJavaScriptを実行する方法が間違っていないでしょうか? WSHを使ってJavaScript(正確にはMicrosoftの実装であるJScript)を実行するにはC:\Windows\System32\wscrit.exeまたはC:\Windows\System32\cscript.exeから実行する必要があります。コマンドプロンプトまたはPowerShellで次のように実行してみてください。 ``` cscript スクリプトファイル名 ``` コンソール無しの場合は次のように実行します(ショートカットなどに記載して使います)。 ``` wscript スクリプトファイル名 ``` Windowsの標準では".js"拡張子がcscript.exeまたはwscript.exeに関連ずれけられているため、ダブルクリックで実行できる場合もあります。他のソフトで".js"の関連付けが別の物に上書きされている場合もありますので、ご注意ください。 グローバルオブジェクト`WScript`はWSH特有のオブジェクトです。各ブラウザのJavaScriptやNode.js等他のJavaScriptエンジンでは使用できません。WSHはWindowsにしかありませんので、MacやLinuxでは使えません。 なおWSHを使用する場合は次のことに注意してください。 * WSHのJavaScript(JScript)エンジンは古く、機能は一切更新されていません。標準ではES2015以降はおろかES5ですら準拠されていません。ただし、クラスIDでMicrosoft Edgeのエンジンを指定すれば、最新のJavaScript文法も使用できるようです。 * 文字コードはWindows-31J(CP932, MS932, Shift_JISの亜種)またはUTF-16LEである必要があります。それ以外の文字コードで日本語を使った場合、文字化けまたはエラーになります。(正しい文字コードかはメモ帳で保存するとき「ANSI」(Windows-31Jのこと)または「Unicode」(UTF-16LEのこと)になっているかで確認できます。) * WSHはWindows 10でも使用できることは確認していますが、Microsoftは今後のスクリプト処理はPowerShellの使用を推奨しており、将来WSHの機能が削除またはデフォルトでは無効にされる可能性があります。