実行側
eval(contentsOfFile('.\\mylib.js')); p(globalVar1); p(globalVar2); func1(); func2(); function contentsOfFile(scriptfile) { var readStream = file→readStream(filepath→file(scriptfile)); var returnValue = ''; try { returnValue = readStream.readAll(); } finally { readStream.close(); } return returnValue; } function filepath→file(filepath) { var aFileSystemObject = new ActiveXObject('Scripting.FileSystemObject'); if (!aFileSystemObject.fileExists(filepath)) aFileSystemObject.createTextFile(filepath, true); // 2nd arg : overwrite return aFileSystemObject.getFile(filepath); } function file→readStream(file) { var ForReading = 1; var TristateUseDefault = -2; return file.openAsTextStream(ForReading, TristateUseDefault); }
→みたいな多バイト文字が文で使えることにも驚いた。
呼び出され側
var globalVar1 = 'mylib.js'; var globalVar2 = 2; function p(message) { WScript.Echo(message); } function func1() { p('func1 is defined by mylib.js.'); } function func2() { p('func2 is defined by mylib.js.'); }