I Love China

技术·人生

技术服务生活
繁體
1月 3rd, 2008

[jsfl]批量导出文件夹下的FLA(含子文件夹)

JSFL Code

var flaList = [];
var len = 0;
var right = 0;
var error = 0;
var folderURI = fl.browseForFolderURL("选择目标文件夹.")var cDate = new Date();
// 日志文件名称
var outputName = [cDate.getFullYear(),cDate.getMonth() + 1, cDate.getDate(),cDate.getHours(),cDate.getMinutes(),cDate.getSeconds(),"log.txt"].join("_");
// 文件总数
var count = 0;
if(folderURI != null)
{
	outputName = folderURI +"/" +  outputName;
	compileFolder(folderURI);
	fl.trace("本次共编译[" + count + "]个文件,成功[" + right + "]个,失败[" + error + "]个\n");
	fl.outputPanel.save(outputName,true);
	fl.outputPanel.clear();
	fl.trace("请查看编译日志文件" + outputName);
	fl.openScript(outputName);
}
function compileFolder(folder)
{
	// 列举文件夹下所有文件
	var folderContents = FLfile.listFolder(folder,"files");
	// 获取其中的fla文件
	getFlaList(folderContents);
	if(flaList.length == 0)
	{
		//fl.trace("没有要编译的Fla文件\n");
	}
	else
	{
		var tLen = flaList.length;
		var swfName = ""
		fl.outputPanel.clear();
		for(var i = 0; i < tLen; i++)
		{
			compile(folder + "/" + flaList[i]);
			swfName = flaList[i].substr(0,flaList[i].lastIndexOf(".")+1)+"swf";
			if (!FLfile.exists(folder +"/"+ swfName)) 
			{ 
				fl.trace(">> ERROR: File did not compile correctly: "+ swfName);
				error ++;
				continue}
			else
			{
				right ++;
			}
		}
		count += tLen;
	}
	var subFolders = FLfile.listFolder(folder,"directories");
	if(subFolders.length > 0)
	{
		for(var i = 0; i < subFolders.length; i++)
		{
			compileFolder(folder + "/" + subFolders[i])
		}
	}
}
function compile(p_fileURI) {
	var doc = fl.openDocument(p_fileURI);
	doc.publish();
	fl.trace(">> 以上是编译[" + p_fileURI + "]的输出信息");
	fl.outputPanel.save(outputName,true);
	fl.outputPanel.clear();
	fl.closeDocument(doc,false)// close fla without saving
}
function getFlaList(listArray)
{
	var len = listArray.length;
	flaList = [];
	var str = "";
	for(var i = 0; i < len; i++)
	{
		str = listArray[i];
		if(str.indexOf(".")  == -1)
		{
			//无后缀文件
			continue;
		}
		var tmp = str.length;
		if((str.substr(tmp - 4).toLowerCase()) == ".fla")
		{
			flaList.push(str);
		}
	}
}

随机文章:

Leave a Reply