小道具、Eclipseプロジェクトの下でアップロードするファイルを抽出します
8014 ワード
小さなツールを作って、たくさんの修正をした後、修正したものをサーバーに置く必要がありますが、どうしてこんなに多くのファイルを1つも漏らさずに抽出しますか?
1.svnをアップロードするときに、アップロードするファイルのパスをコピーする
2.貼り付け、実行、簡単
3.結果をプロジェクトフォルダの下に保存します.デフォルトはuploadフォルダです.
ここに配置する場所
完全なコード
1.svnをアップロードするときに、アップロードするファイルのパスをコピーする
2.貼り付け、実行、簡単
3.結果をプロジェクトフォルダの下に保存します.デフォルトはuploadフォルダです.
ここに配置する場所
var project_path="E:/develop/xxz/";
var source="source/java_source/";
var web_source="web_source/";
var build="build/classes/";
var dir='upload/';//
var classes='WEB-INF/classes/'; // class upload/WEB-INF/classes/
完全なコード
<html>
<head>
<title> Css </title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<style>body{font-size:12px;}</style>
</head>
<body>
CSS , CMD <br>
<textarea id="s" rows="3" cols="100"></textarea>
<textarea id="rs" rows="3" cols="100"></textarea>
<input type="button" value=" CMD" id="go" />
<hr />
( svn )[ Eclipse , IE ]<br>
<textarea id="s_copysvngo" rows="5" cols="100"></textarea>
<input type="button" value=" CMD( )" id="copysvngo" />
<input type="button" value=" ( )" id="copysvngo2" />
<br><br>
<div id="msg"></div>
<script>
function msg(x,y){
if(!y) $("#msg").html(x); else $("#msg").html($("#msg").html()+"<br>"+x);
}
$("#go").click(function(){
msg("Start---------------------");
var s=($("#s").val()+'');//.replace(/\)[^(]+?\(/g,'')
var reg=/\.{0,2}(\/{0,1}[^\/]+?)+\.gif|jpg/g;
reg=/[^\/)("']*?(\/[^\/)("']+?)*\.gif|jpg/g;
var d=(new Date()).getTime();
var arr=s.match(reg);
var dir='0000';
var cmd='md '+dir+'\r
';
if(arr && arr.length>0){
for(var i=0;i<arr.length;i++){
cmd+='copy '+arr[i]+' '+dir+'/'+arr[i].replace(/.+\//g,'')+'\r
';
}
cmd+='pause';
$("#rs").val(cmd.replace(/\//g,'\\'));
}else{
msg("No data");
}
msg("Done---------------------",1);
msg("Time:"+(((new Date()).getTime()-d)/1000)+"s",1);
});
// svn
$("#copysvngo").click(function(){
msg("Start---------------------");
var s=($("#s_copysvngo").val()+'');//.replace(/\)[^(]+?\(/g,'')
var reg=/^(.+?\r|
)$/g;
var d=(new Date()).getTime();
var arr=s.replace(/\r|
/g,'\r').replace(/\r+/g,'\r').split('\r');
var dir='upload';
var cmd='md '+dir+'\r
pause\r
';
msg("s.length="+s.length,1)
if(arr && arr.length>0){
var source="source/java_source/";
var web_source="web_source/";
var build="E:/develop/SZSC/build/classes/";
var CHECK={};
for(var i=0;i<arr.length;i++){
arr[i]=$.trim(arr[i].replace(/\r|
/g,''));
if(arr[i].indexOf(".java")>source.length){
arr[i]=arr[i].replace('.java','.class').replace(source,build);
}
arr[i]=(arr[i].indexOf("\\")==0 || arr[i].indexOf("/")==0)?arr[i].substring(1):arr[i];
if(arr[i].length==0){msg("i="+i,1); continue;}
var path=arr[i].replace(/\r|
/g,'');
var xname=arr[i].replace(/\r|
/g,'').replace(/.+\//g,'');
var xname2=!!CHECK[xname]?(path.replace(source,"").replace(build,"").replace(xname,"").replace(/\/|\\/g,".")+xname):xname;
cmd+='copy '+path+' '+dir+'/'+xname2+' >> log.txt\r
';
CHECK[xname]="1";//
}
cmd+='pause';
$("#s_copysvngo").val(cmd.replace(/\//g,'\\'));
}else{
msg("No data",1);
}
msg("Done---------------------",1);
msg("Time:"+(((new Date()).getTime()-d)/1000)+"s",1);
});
// svn , eclipse IDE [ IE ]
$("#copysvngo2").click(function(){
// ,
var project_path="E:/develop/xxz/";
var source="source/java_source/";
var web_source="web_source/";
var build="build/classes/";
var dir='upload/';//
var classes='WEB-INF/classes/'; // class upload/WEB-INF/classes/
msg("Start--------------------- cmd ");
var s=($("#s_copysvngo").val()+'');//.replace(/\)[^(]+?\(/g,'')
var reg=/^(.+?\r|
)$/g;
var d=(new Date()).getTime();
var arr=s.replace(/\r|
/g,'\r').replace(/\r+/g,'\r').split('\r');
//io
var IO={
fso: new ActiveXObject("Scripting.FileSystemObject"),
createFolder:function(path){
path=path.replace(/\/$/,'');
var arr=path.split('/');
path="";
for(var i=0;i<arr.length;i++){
path+=arr[i]+'/';
if(!arr[i] || arr[i].indexOf(':')>1) continue;
if(!this.fso.FolderExists(path)) this.fso.CreateFolder(path);
}
},
copyFile:function(source,target){
this.fso.CopyFile(source,target);// overwrite old file
},
createFile:function(target, content){
var a = this.fso.CreateTextFile(target, true);
a.WriteLine(content);
a.Close();
}
}
msg("s.length="+s.length,1)
//
if(arr && arr.length>0){
for(var i=0;i<arr.length;i++){
arr[i]=$.trim(arr[i].replace(/\r|
/g,''));
arr[i]=(arr[i].indexOf("\\")==0 || arr[i].indexOf("/")==0)?arr[i].substring(1):arr[i];
if(arr[i].length==0){msg("i="+i,1); continue;}
var fullpath=arr[i].replace(/\r|
/g,'');
var newdir=fullpath.replace(source,classes).replace(web_source,'').replace(/\/[^\/]+?$/,'/');
var sourcepath="";
var targetpath="";
// ,
IO.createFolder(project_path+dir+newdir);
// classes : :WEB-INF/classes/
if(arr[i].indexOf(source)>-1){
sourcepath=arr[i].replace('.java','.class').replace(source,build);
targetpath=dir+arr[i].replace('.java','.class').replace(source,classes);
}
//jsp,js, etc
if(arr[i].indexOf(web_source)>-1){
sourcepath=fullpath;
targetpath=dir+fullpath.replace(web_source,'');
}
IO.copyFile(project_path+sourcepath,project_path+targetpath);
}
//path
IO.createFile(project_path+dir+"__path.txt",s.replace(new RegExp(source,'g'),classes).replace(new RegExp(web_source,'g'),''));
}else{
msg("No data",1);
}
msg("Done---------------------",1);
msg("Time:"+(((new Date()).getTime()-d)/1000)+"s",1);
});
</script>
</body>
</html>