系統增量更新工具分享

如果開發項目有版本控制,那麼版本控制工具可以列出本地變更的源文件,但是要獲取.class文件則有點困難,得自己手工一個一個拷貝;

如果沒有版本控制,那更是抓蝦,修改一個需求,一頓操作猛如虎,一遇更新便懵逼。

為此,開發了一個小工具--網頁版的項目源文件獲取工具,有幾個優點。

  1. JS編寫,修改方便
  2. 支持配置,擴展方便
  3. 只要有IE即可運行,操作方便
  4. 支持class內部類導出
  5. 支持任意文件類型

核心邏輯:利用AxtiveX控件,讀寫文件;

  1. 校驗輸入文件路徑是否有效;
  2. 讀取配置文件
  3. 根據配置讀取class源文件,並拷貝到輸出目錄
  4. 打開目標目錄
<code>var configFilePath="D:\\\\config.txt";
var outputPath="D:\\\\outfile\\\";
var configArray;
\t


//文件類型校驗
if(line.lastIndexOf(".java")!=-1 || line.lastIndexOf(".jsp")!=-1
\t\t\t|| line.lastIndexOf(".js")!=-1 || line.lastIndexOf(".htm")!=-1
\t\t\t|| line.lastIndexOf(".html")!=-1 || line.lastIndexOf(".css")!=-1
\t\t\t|| line.lastIndexOf(".jpg")!=-1 || line.lastIndexOf(".png")!=-1
\t\t\t|| line.lastIndexOf(".properties")!=-1 || line.lastIndexOf(".xml")!=-1
\t\t\t|| line.lastIndexOf(".jar")!=-1 || line.lastIndexOf(".class")!=-1){
\t\t\t\tlegal=true;
\t\t\t\t//return false;
}

//讀取配置文件內容
function initConfig(configFilePath){
\tvar result=new Array();
\tvar fso, f1;
\tvar forReading= 1;
\tfso = new ActiveXObject("Scripting.FileSystemObject");
\t\t//打開文件
\t\tf1 = fso.OpenTextFile(configFilePath, forReading);
\t\t//讀取配置文件
\t\twhile(f1 && !f1.AtEndOfStream){
\t\t\tvar property = f1.ReadLine();
}
}

//遞歸創建目錄
function createFolderAll(fso, folderPath, tempNext){
\tvar nextPath=folderPath.substr(0, tempNext.length+folderPath.substr(tempNext.length,
folderPath.length).indexOf("\\\")+1);
\ttry{
\t\tif(folderPath==tempNext){
\t\t\t\treturn;
\t\t}else{
\t\t\tif(!fso.FolderExists(nextPath+"\\\")){
\t\t\t\tfso.createFolder(nextPath);
\t\t\t}
\t\t\ttempNext=folderPath.substr(0, nextPath.length+folderPath.substr(nextPath.length,
folderPath.length).indexOf("\\\"));
\t\t\tif(folderPath.substr(nextPath.length, folderPath.length).indexOf("\\\")==-1){
\t\t\t\treturn;
\t\t\t}else{
\t\t\t\tcreateFolderAll(fso, folderPath, tempNext);
\t\t\t}
\t\t}
\t}catch(e){
\t\talert("創建輸出目錄錯誤"+e.message);

\t\ttempFolderName="";
\t\treturn;
\t}
}
//文件拷貝
if(fso.FileExists(innerClassFile)){
\t\t\tvar f2 = fso.GetFile(innerClassFile);
\t\t\tf2.Copy(tempFolderName+innerClassName);
}

//打開本地目錄
function openTargetDir(targetDir){
\tvar cmd = new ActiveXObject("WScript.Shell");
\tvar openDir="explorer "+targetDir;
\tcmd.run(openDir);
}/<code>
系統增量更新工具分享


系統增量更新工具分享


系統增量更新工具分享


分享到:


相關文章: