-
Notifications
You must be signed in to change notification settings - Fork 0
/
EF_CreateFolderStructure.jsx
51 lines (42 loc) · 1.79 KB
/
EF_CreateFolderStructure.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**========================================================================
* ? EF_CreateFolderStructure.jsx
* @author : Eveline Falcão (https://evelinefalcao.com)
* @email : hello@evelinefalcao.com
* @version : 1.0.0
* @createdFor : Adobe After Effects CC 2024 (Version 24.1.0 Build 78)
* @description : Create folders in a project.
*========================================================================**/
(function createFolderStructure(){
app.beginUndoGroup("Create Folder Structure");
var mainFolders = ["1_Input", "2_PreComps", "3_Output"];
var inputSubFolders = ["Stills", "Audio", "Videos", "3D", "Data", "Projects", "Missing"];
var inputFolderName = "1_Input";
function findItemByName(itemName){
var myItem;
var itemCollection = app.project.items;
for(var itemIndex = 1; itemIndex <= itemCollection.length; itemIndex++){
if (itemCollection[itemIndex].name == itemName){
myItem = itemCollection[itemIndex];
}
}
return myItem;
}
function createFolders(list){
for(var folderIndex = 0; folderIndex < list.length; folderIndex++){
var currentItem = app.project.items.addFolder(list[folderIndex]);
currentItem.label = 0;
}
}
function parentSubFolders(childFolders, parentName){
var parent = findItemByName(parentName);
var child;
for (var childIndex = 0; childIndex < childFolders.length; childIndex++){
child = findItemByName(childFolders[childIndex]);
child.parentFolder = parent;
}
}
createFolders(mainFolders);
createFolders(inputSubFolders);
parentSubFolders(inputSubFolders, inputFolderName);
app.endUndoGroup();
})();