Delete/Remove/Overwrite files/folders while saving


hello again.

 

i finishing simple script similar 1 you've seen , more used before (multiexporter.jsx tom byrne). production department has requested give them single pdf per artboard in document specific export settings , proper file-name (based on name of artboard).

 

i've written loop save out each artboard right settings.. i'm running problem of duplicates. it's have many duplicate artboard names, need saved. default, files overwritten subsequent save function. got past adding sort of sequence number end of filename if duplicate found.

 

the problem now, script run correctly regardless of whether destination folder exists or not. example, i've run script , saved .ai file , pdfs. realize needed make change file , re-save (via script) , overwrite files saved there first time. unfortunately, because of sequence numbers talked above, old files new files in folder.

 

my first thought delete existing destination folder , re-create it. however, looks javascript cannot that. have tell artists must manually delete folder before re-run script? or there way overwrite folder while still maintaining sequencing duplicate files inside folder??

 

here's code:

 

 #target illustrator   //script name: save document , extract pdfs //author: william dowling //creation date: 10/15/15 /*     saves active document user's desktop in dated folder order number filename.     saves each artboard pdf artboard name filename. */   function container(){     var docref = app.activedocument;     var layers = docref.layers;     var ab = docref.artboards;     var dest = finddest();     var date = getdate();          function finddest(){         var dest = new folder("~/desktop" + "/today's orders");         return dest.fsname;     }          function getdate(){             var today = new date();             var dd = today.getdate();             var mm = today.getmonth()+1;             var yyyy = today.getyear();             var yy = yyyy-100;               if(dd<10) {                 dd='0'+dd             }              if(mm<10) {                 mm='0'+mm             }              return mm+'.'+dd+'.'+yy;         }          dest = "/volumes/macintosh hd" + dest + " " + date;     if(!dest.exists){         var newfolder = new folder(dest);         newfolder.create();     }     if(docref.name.substring(0,2) == "un"){         var on = prompt("enter order number", "1234567");         var filename = on;     }     else{         var filename = docref.name;     }     var savefile = new file(dest + "/" + filename);     if(savefile.exists){         if(!confirm("this file exists.. want overwrite?", false, "overwrite file?")){             return;         }     }     docref.saveas(savefile);     var pdfdest = dest + "/" + filename.substring(0,filename.indexof(".ai")) + "_pdfs";     var pdffolder = new folder(pdfdest);     if(!pdffolder.exists){         pdffolder.create();     }     else if(pdffolder.exists){         if(!confirm("the pdfs folder order exists.. want overwrite?", false, "overwrite pdfs folder?")){             return;         }         else{              //pdffolder.delete(); //within else statement, i'd remove folder or it's contents , start fresh folder             pdffolder = new folder(pdfdest);             pdffolder.create();         }     }          //loop artboards save individual pdfs          var pdfsaveopts = new pdfsaveoptions();     pdfsaveopts.preserveeditability = false;     pdfsaveopts.viewaftersaving = false;     var seq = 1;       for(var a=0;a<ab.length;a++){         var range = (a+1).tostring();         pdfsaveopts.artboardrange = range;         var pdffile = new file(pdfdest + "/" + ab[a].name);         var thispdf = new file(pdffile + ".pdf");         if(thispdf.exists){             thispdf = new file(pdffile + " " + seq.tostring());             docref.saveas(thispdf, pdfsaveopts);             seq++;         }         else{             docref.saveas(pdffile, pdfsaveopts);         }     } } container(); 

there's folder.remove() function, i'm not sure if have remove files inside first, though.



More discussions in Illustrator Scripting


adobe

Comments

Popular posts from this blog

after effects warning: unable to create drawing surface

Maximum number of authorizations reached!