本地代码增量更新工具分享

如果开发项目有版本控制,那么版本控制工具可以列出本地变更的源文件,但是要获取.class文件则有点困难,得自己手工一个一个拷贝;

如果没有版本控制,那更是抓虾,修改一个需求,一顿操作猛如虎,一遇更新便懵逼。

为此,开发了一个小工具–网页版的项目源文件获取工具,有几个优点。

JS编写,修改方便
支持配置,扩展方便
只要有IE即可运行,操作方便
支持class内部类导出
支持任意文件类型
核心逻辑:利用AxtiveX控件,读写文件;

校验输入文件路径是否有效;
读取配置文件
根据配置读取class源文件,并拷贝到输出目录
打开目标目录

var configFilePath="D:\\config.txt";
var outputPath="D:\\outfile\\";
var configArray;
	

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

//读取配置文件内容
function initConfig(configFilePath){
	var result=new Array();
	var fso, f1;
	var forReading= 1;
	fso = new ActiveXObject("Scripting.FileSystemObject");
		//打开文件
		f1 = fso.OpenTextFile(configFilePath, forReading);
		//读取配置文件
		while(f1 && !f1.AtEndOfStream){
			var property = f1.ReadLine();
    }
}

//递归创建目录
function createFolderAll(fso, folderPath, tempNext){
	var nextPath=folderPath.substr(0, tempNext.length+folderPath.substr(tempNext.length, 
                                                                      folderPath.length).indexOf("\\")+1);
	try{
		if(folderPath==tempNext){
				return;
		}else{
			if(!fso.FolderExists(nextPath+"\\")){
				fso.createFolder(nextPath);
			}
			tempNext=folderPath.substr(0, nextPath.length+folderPath.substr(nextPath.length, 
                                                                      folderPath.length).indexOf("\\"));
			if(folderPath.substr(nextPath.length, folderPath.length).indexOf("\\")==-1){
				return;
			}else{
				createFolderAll(fso, folderPath, tempNext);
			}
		}
	}catch(e){
		alert("创建输出目录错误"+e.message);
		tempFolderName="";
		return;
	}
}
//文件拷贝
if(fso.FileExists(innerClassFile)){
			var f2 = fso.GetFile(innerClassFile);
			f2.Copy(tempFolderName+innerClassName);
}

//打开本地目录
function openTargetDir(targetDir){
	var  cmd = new ActiveXObject("WScript.Shell");
	var openDir="explorer "+targetDir;
	cmd.run(openDir);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值