如果開發項目有版本控制,那麼版本控制工具可以列出本地變更的源文件,但是要獲取.class文件則有點困難,得自己手工一個一個拷貝;
如果沒有版本控制,那更是抓蝦,修改一個需求,一頓操作猛如虎,一遇更新便懵逼。
為此,開發了一個小工具--網頁版的項目源文件獲取工具,有幾個優點。
- JS編寫,修改方便
- 支持配置,擴展方便
- 只要有IE即可運行,操作方便
- 支持class內部類導出
- 支持任意文件類型
核心邏輯:利用AxtiveX控件,讀寫文件;
- 校驗輸入文件路徑是否有效;
- 讀取配置文件
- 根據配置讀取class源文件,並拷貝到輸出目錄
- 打開目標目錄
<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>
![系統增量更新工具分享](http://p2.ttnews.xyz/loading.gif)
![系統增量更新工具分享](http://p2.ttnews.xyz/loading.gif)
閱讀更多 夏至海 的文章