javascript語法:https://www.w3school.com.cn/js/js_array_methods.asp
flash中的api:https://help.adobe.com/archive/zh_CN/flash/cs5/flash_cs5_extending.pdf
// fl 或者 flash 表示 flash對象
// fl.scriptURI 只讀;一個字符串,它表示當前運行的 JSFL 腳本的路徑,形式爲 file:/// URI。
var sourceFolder=fl.scriptURI;
// 跟 compileAll.jsfl 同目錄的 fla 文件夾
sourceFolder = sourceFolder.substr(0, sourceFolder.length - "compileAll.jsfl".length) + "fla"
var fileMask="*.fla";
var libContorl = "LibControls.fla";
// FLfile 對象 操作文件
// FLfile.listFolder(folderURI文件夾路徑可以有* ?通配符 [, filesOrDirectories返回文件或者目錄])
var list=FLfile.listFolder(sourceFolder + "/" + fileMask, "files");
if(!list)
{
//奇怪的規律, 有的時候相對路徑可以找到,有的時候找不到.
//找不到的之後手動找絕對路徑
// fl.browseForFolderURL() 顯示 “ 瀏覽文件夾 ” 對話框,允許用戶選擇文件夾
sourceFolder=fl.browseForFolderURL();
list=FLfile.listFolder(sourceFolder +'/' + fileMask, "files");
}
function hasLibCAndPicL()
{
var hasLib = false;
list.forEach(function(e){
if(e == libContorl)
{
hasLib = true;
}
})
return hasLib;
}
function exchangIndex()
{
// splice 和 unshift javascript的數組的操作api 刪除或者增加
list.splice(list.indexOf(libContorl), 1);
list.unshift(libContorl);
}
if(hasLibCAndPicL())
{
exchangIndex();
var doc;
// compilerErrors 對象表示 “ 編譯器錯誤 ” 面板,它是 flash 對象 (fl) 的一個屬性 可以通過 fl.compilerErrors 訪問
var obj = fl.compilerErrors
for(var i=0; i<list.length; ++i)
{
// 在新的 Flash 文檔窗口中打開一個 Flash (FLA) 文檔供編輯,並使其獲得焦點。
var doc=fl.openDocument(sourceFolder+ "/" +list[i]);
// 按照活動的發佈設置 ( “ 文件 ”>“ 發佈設置 ”)發佈文檔;等效於選擇 “ 文件 ”>“ 發佈 ”。
doc.publish();
// 把 “ 編譯器錯誤 ” 面板裏的錯誤輸出到文件中
obj.save("file:///./compilerErrors/"+list[i]+"Errors.log");
doc.close();
}
fl.quit();
}