Obviously, I don't need to save my files as legacy .ai. I just need to access the image files which are inside folders and subfolders.
Thanks in advance.
Hello,
I'm not sure what script in this thread you were refering to so I grabed the one that removes the bottom layer.
The script below will look in folders\subfolders for .ai files, remove the bottom layer and save over the original file(s).
function main() {
var inputFolder = Folder.selectDialog("Select a folder to process")
if (inputFolder != null){
var fileandfolderAr = scanSubFolders(inputFolder, /\.(ai)$/i);
var fileList = fileandfolderAr[0];
}
for (var i = fileList.length-1; i >= 0; i--) {
app.open(fileList[i]);
var doc = app.activeDocument;
try {
var docLayers = doc.layers;
var n = docLayers.length;
docLayers[n-1].visible = true;
docLayers[n-1].locked = false;
docLayers[n-1].remove();
doc.save();
doc.close(SaveOptions.NO);
} catch (e) {
}
}
}
main()
function scanSubFolders(tFolder, myAI) {
var sFolders = [];
var allFiles = [];
sFolders[0] = tFolder;
for (var j = 0; j < sFolders.length; j++) {
var procFiles = sFolders[j].getFiles();
for (var i = 0; i < procFiles.length; i++) {
if (procFiles[i] instanceof File) {
if(myAI == undefined) {
allFiles.push(procFiles);
}
if (procFiles[i].fullName.search(myAI) != -1) {
allFiles.push(procFiles[i]);
}
}
else if (procFiles[i] instanceof Folder) {
sFolders.push(procFiles[i]);
scanSubFolders(procFiles[i], myAI);
}
}
}
return [allFiles, sFolders];
}
Regards,
Mike