いろいろ実験

実験1.書かれた言語と異なる拡張子を付けて保存し、ダブルクリックで実行する

「js」という拡張子で中身はVBScript、「vbs」という拡張子で中身はJScriptのファイルを用意し、それぞれをダブルクリックで実行してみる。

test1.vbs

WScript.Echo("test");

test1.js

WScript.Echo "test"

→ 結果:エラー

拡張子だけを見てエンジンを決定しているようだ。中身で判断しているわけではない。

実験2.書かれた言語と異なる拡張子を付けて保存し、//Eオプションを付けずにwscipt.exeを呼び出す。

実験1と同じファイルを使い、wscript.exeの引数に指定して実行してみる。

→結果:エラー

拡張子を信じて実行エンジンを決定しているようだ。中身はまったく判断材料にしていないようだ。

実験3.書かれた言語と異なる拡張子を付けて保存し、//Eオプションを付けてwscipt.exeを呼び出す。

実験1と同じファイルを使い、wscript.exeの引数に指定し、「//E」オプションを指定して実行してみる。

→結果:正常

「js」という拡張子で中身はVBScript、「vbs」という拡張子で中身はJScriptのファイルでも、「//E」オプションで正しく実行エンジンを指定すれば問題なく実行できる。

実験4.関連付けされていない拡張子を付けて保存し、//Eオプションを付けずにwscipt.exeを呼び出す。

→結果:入力エラー: ファイル拡張子 “.hoge” を持つスクリプト エンジンはありません。

やはり中身はまったく判断材料にしていないようだ。

実験5.関連付けされていない拡張子を付けて保存し、//Eオプションを付けてwscipt.exeを呼び出す。

→結果:正常

「//E」オプションを付けると、中身と拡張子が不一致でも正しく実行できるようだ。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です