//ファイルシステムへアクセスするオブジェクトの生成 var FSO = new ActiveXObject("Scripting.FileSystemObject"); //ファイルオープンモード var ForReading=1, ForWriting=2, IsCreate=true; for(var i=0 ;i < WScript.Arguments.length;i++){ var input = new Object(); input.args = WScript.Arguments(i); input.command = createFolder; input.end="";moveFile; readTextForSeq(input,FSO); } //テキストファイルを一行ずつ読み込む処理 //引数 command:テキストファイルを一行読み込んだときに実行したい関数オブジェクト function readTextForSeq(input,fso){ var stream = fso.OpenTextFile(input["args"], ForReading); while(!stream.AtEndOfStream) { input["command"](stream.ReadLine(),input,fso); } stream.Close(); if(!input["end"] == null && !input["end"] == ""){ input["end"](fso,input); } } //カレントフォルダのパスを得る //引数:fso:ファイルシステムオブジェクト function getCurrentFolderPath(fso){ //現在のカレントフォルダパス return fso.GetParentFolderName(WScript.ScriptFullName)+"\\"; } function createFolder(str,paramObj,fso){ paramObj.content += str; if(str.indexOf("package") == -1){ return; } var temp = str.replace(/package| |;/ig,""); var array = temp.split("."); //ソースファイルのコピー先のパスを作成 var toPath = getCurrentFolderPath(fso); //var toPath = getCurrentFolderPath(fso) + temp.replace(/\./ig,"\\") //フォルダを作成する for(var i in array){ if(i ==0 ){ toPath += array[i]; }else{ toPath =toPath +"\\" +array[i]; } if(!fso.FolderExists(toPath )){ fso.CreateFolder(toPath) } } paramObj.toPath = toPath; } function moveFile(fso,paramObj){ //引数で渡されたファイルを指定したフォルダへ格納する WScript.echo(paramObj["toPath"] + "\\" +fso.GetFileName(paramObj["args"])); var stream = fso.OpenTextFile(paramObj["toPath"] + "\\" +fso.GetFileName(paramObj["args"]), ForWriting,IsCreate); stream.Write(paramObj["content"]); stream.Close(); //fso.CopyFile(paramObj["args"],paramObj["toPath"]); //fso.CopyFile(getCurrentFolderPath(fso) + "CTCM000R_WebCommonConst.java",paramObj["toPath"]); }