mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-02-06 06:54:58 +00:00
Add files via upload
This commit is contained in:
parent
01f0ae6254
commit
a674a0f3b7
71
scriptcontrol.js
Normal file
71
scriptcontrol.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
// scriptcontrol.js
|
||||
// The Simplified entrypoint for win32com (based on MSScriptControl.ScriptControl)
|
||||
|
||||
var workingDirectory = "";
|
||||
|
||||
if (typeof CreateObject === "undefined") {
|
||||
var CreateObject = function(progId, serverName, callback) {
|
||||
var progIds = (progId instanceof Array ? progId : [progId]);
|
||||
|
||||
for (var i = 0; i < progIds.length; i++) {
|
||||
try {
|
||||
var obj = CreateObject.make(progIds[i], serverName);
|
||||
if (typeof callback === "function") {
|
||||
callback(obj, progIds[i]);
|
||||
}
|
||||
return obj;
|
||||
} catch (e) {
|
||||
console.error(e.message);
|
||||
};
|
||||
}
|
||||
};
|
||||
CreateObject.make = function(p, s) {
|
||||
if (typeof WScript !== "undefined") {
|
||||
return WScript.CreateObject(p, s);
|
||||
} else if (typeof ActiveXObject !== "undefined") {
|
||||
return new ActiveXObject(p);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function readFile(FN, charset) {
|
||||
if(typeof(charset) === "undefined") {
|
||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||
var T = null;
|
||||
try {
|
||||
var TS = FSO.OpenTextFile(FN, 1);
|
||||
if (TS.AtEndOfStream) return "";
|
||||
T = TS.ReadAll();
|
||||
TS.Close();
|
||||
TS = null;
|
||||
} catch (e) {
|
||||
console.log("ERROR! " + e.number + ", " + e.description + ", FN=" + FN);
|
||||
}
|
||||
FSO = null;
|
||||
return T;
|
||||
} else {
|
||||
var fsT = CreateObject("ADODB.Stream");
|
||||
fsT.CharSet = charset;
|
||||
fsT.Open();
|
||||
fsT.LoadFromFile(FN);
|
||||
T = fsT.ReadText();
|
||||
fsT = null;
|
||||
return T;
|
||||
}
|
||||
}
|
||||
|
||||
function setWorkingDirectory(directory) {
|
||||
workingDirectory = directory;
|
||||
}
|
||||
|
||||
function run(targetName) {
|
||||
var w = CreateObject("WScript.Shell")
|
||||
, stdOutPath = "tmp\\stdout.txt"
|
||||
, stdErrPath = "tmp\\stderr.txt"
|
||||
;
|
||||
if (workingDirectory != "") {
|
||||
w.CurrentDirectory = workingDirectory;
|
||||
}
|
||||
w.Run("%comspec% /c (cscript //NoLogo app.js " + targetName + ") 1> " + stdOutPath + " 2> " + stdErrPath, 0, true);
|
||||
return readFile(stdOutPath, "utf-8");
|
||||
}
|
Loading…
Reference in New Issue
Block a user