mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-05-14 05:31:03 +00:00
Update file.js
This commit is contained in:
parent
98b8538fb9
commit
ce4026b59e
98
lib/file.js
98
lib/file.js
|
@ -7,7 +7,8 @@
|
||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
var LIB = require('lib/std');
|
var LIB = require("lib/std");
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// Private APIs / Utility functions
|
// Private APIs / Utility functions
|
||||||
|
@ -18,43 +19,43 @@ exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.fileExists
|
// fileExists
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.fileExists = function(FN) {
|
function fileExists(FN) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var exists = FSO.FileExists(FN);
|
var exists = FSO.FileExists(FN);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return exists;
|
return exists;
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.folderExists
|
// folderExists
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.folderExists = function(FN) {
|
function folderExists(FN) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var exists = FSO.FolderExists(FN);
|
var exists = FSO.FolderExists(FN);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return exists;
|
return exists;
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.fileGet
|
// fileGet
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.fileGet = function(FN) {
|
function fileGet(FN) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var file = FSO.GetFile(FN);
|
var file = FSO.GetFile(FN);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return file;
|
return file;
|
||||||
};
|
}
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.readFile
|
// readFile
|
||||||
// Read the conents of the pass filename and return as a string
|
// Read the conents of the pass filename and return as a string
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.readFile = function(FN, charset) {
|
function readFile(FN, charset) {
|
||||||
if(typeof(charset) === "undefined") {
|
if(typeof(charset) === "undefined") {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var T = null;
|
var T = null;
|
||||||
|
@ -78,14 +79,14 @@ exports.readFile = function(FN, charset) {
|
||||||
fsT = null;
|
fsT = null;
|
||||||
return T;
|
return T;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.writeFile
|
// writeFile
|
||||||
// Write the passed content to named disk file
|
// Write the passed content to named disk file
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.writeFile = function(FN, content, charset) {
|
function writeFile(FN, content, charset) {
|
||||||
var Stream_No_UTF8_BOM = function(objStream) {
|
var Stream_No_UTF8_BOM = function(objStream) {
|
||||||
var _objStream = CreateObject("ADODB.Stream");
|
var _objStream = CreateObject("ADODB.Stream");
|
||||||
_objStream.Type = 1;
|
_objStream.Type = 1;
|
||||||
|
@ -94,11 +95,16 @@ exports.writeFile = function(FN, content, charset) {
|
||||||
objStream.Position = 3;
|
objStream.Position = 3;
|
||||||
objStream.CopyTo(_objStream);
|
objStream.CopyTo(_objStream);
|
||||||
objStream.Flush();
|
objStream.Flush();
|
||||||
objStream.Close();
|
//objStream.Close();
|
||||||
return _objStream;
|
return _objStream;
|
||||||
};
|
};
|
||||||
var ok;
|
var ok = false;
|
||||||
|
|
||||||
|
while (!ok) {
|
||||||
|
// [lib/file] Can not overwrite a file with ADODB.Stream SaveToFile() #32
|
||||||
|
SHELL.exec(["del", FN]);
|
||||||
|
|
||||||
|
// ascii:Scripting.FileSystemObject, unicode:ADODB.Stream
|
||||||
if (charset) {
|
if (charset) {
|
||||||
console.log("WRITE TO DISK USING ADODB.Stream CHARSET " + charset);
|
console.log("WRITE TO DISK USING ADODB.Stream CHARSET " + charset);
|
||||||
try {
|
try {
|
||||||
|
@ -112,6 +118,8 @@ exports.writeFile = function(FN, content, charset) {
|
||||||
} else {
|
} else {
|
||||||
fsT.SaveToFile(FN, 2); // save as binary to disk
|
fsT.SaveToFile(FN, 2); // save as binary to disk
|
||||||
}
|
}
|
||||||
|
fsT.Close();
|
||||||
|
fsT = null;
|
||||||
ok = true;
|
ok = true;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("ADODB.Stream: ERROR! " + e.number + ", " + e.description + ", FN=" + FN);
|
console.log("ADODB.Stream: ERROR! " + e.number + ", " + e.description + ", FN=" + FN);
|
||||||
|
@ -130,10 +138,16 @@ exports.writeFile = function(FN, content, charset) {
|
||||||
}
|
}
|
||||||
FSO = null;
|
FSO = null;
|
||||||
}
|
}
|
||||||
return ok;
|
}
|
||||||
};
|
|
||||||
|
|
||||||
exports.writeBinaryFile = function(FN, DATA) {
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// writeBinaryFile
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
function writeBinaryFile(FN, DATA) {
|
||||||
var adTypeText = 1;
|
var adTypeText = 1;
|
||||||
var adSaveCreateOverWrite = 2;
|
var adSaveCreateOverWrite = 2;
|
||||||
var BinaryStream = CreateObject("ADODB.Stream");
|
var BinaryStream = CreateObject("ADODB.Stream");
|
||||||
|
@ -142,58 +156,72 @@ exports.writeBinaryFile = function(FN, DATA) {
|
||||||
BinaryStream.Write(DATA);
|
BinaryStream.Write(DATA);
|
||||||
BinaryStream.SaveToFile(FN, adSaveCreateOverWrite);
|
BinaryStream.SaveToFile(FN, adSaveCreateOverWrite);
|
||||||
BinaryStream.Close();
|
BinaryStream.Close();
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.moveFile
|
// moveFile
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.moveFile = function(FROM, TO) {
|
function moveFile(FROM, TO) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var result = FSO.MoveFile(FROM, TO);
|
var result = FSO.MoveFile(FROM, TO);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return result;
|
return result;
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.createFolder
|
// createFolder
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.createFolder = function(FN) {
|
function createFolder(FN) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var result = FSO.CreateFolder(FN);
|
var result = FSO.CreateFolder(FN);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return result;
|
return result;
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.deleteFolder
|
// deleteFolder
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.deleteFolder = function(FN) {
|
function deleteFolder(FN) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var result = FSO.DeleteFolder(FN);
|
var result = FSO.DeleteFolder(FN);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return result;
|
return result;
|
||||||
};
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// exports.deleteFile
|
// deleteFile
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.deleteFile = function(FN) {
|
function deleteFile(FN) {
|
||||||
var FSO = CreateObject("Scripting.FileSystemObject");
|
var FSO = CreateObject("Scripting.FileSystemObject");
|
||||||
var result = FSO.DeleteFile(FN);
|
var result = FSO.DeleteFile(FN);
|
||||||
FSO = null;
|
FSO = null;
|
||||||
return result;
|
return result;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// includeFile
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
exports.includeFile = function(FN) {
|
function includeFile(FN) {
|
||||||
var fso = CreateObject("Scripting.FileSystemObject");
|
var fso = CreateObject("Scripting.FileSystemObject");
|
||||||
var fileStream = fso.openTextFile(FN);
|
var fileStream = fso.openTextFile(FN);
|
||||||
var fileData = fileStream.readAll();
|
var fileData = fileStream.readAll();
|
||||||
fileStream.Close();
|
fileStream.Close();
|
||||||
eval(fileData);
|
eval(fileData);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
exports.fileExists = fileExists;
|
||||||
|
exports.folderExists = folderExists;
|
||||||
|
exports.fileGet = fileGet;
|
||||||
|
exports.readFile = readFile;
|
||||||
|
exports.writeFile = writeFile;
|
||||||
|
exports.writeBinaryFile = writeBinaryFile;
|
||||||
|
exports.moveFile = moveFile;
|
||||||
|
exports.createFolder = createFolder;
|
||||||
|
exports.deleteFolder = deleteFolder;
|
||||||
|
exports.deleteFile = deleteFile;
|
||||||
|
exports.includeFile = includeFile;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user