Skip to main content
julioc4816867
Known Participant
July 16, 2015
Answered

improve or simplify this batch script

  • July 16, 2015
  • 2 replies
  • 1944 views

sorry my bad english

Hello, I've combined some scripts in this forum, to make an image processor as Photoshop, I wonder if this script is right or if you can simplify more

This script convert AI to PSD, Pdf, Png, Jpg, AI v3 - cc2015, select resolution and included to subfolders (optional)

Español

hola, he combinado algunos scripts en este foro, para crear algo similar al procesador de photoshop, me gustaría saber si este script se puede mejorar o simplificar para que procese más rápido.

este script procesa un Ai a Psd, Pdf, Png, Jpg y Ai v3 hasta la CC2015, además puede escoger la resolución de la exportación para PSD,PNG y JPG, también uno puede elegir que busque en subcarpetas

var format = prompt('Choose a File Type Extension  :\nai, psd, pdf, jpg, png', "png", 'Batch');

if (format == "ai" || format == "psd" || format == "pdf" || format == "jpg" || format == "png") {

  if (format == "jpg" || format == "png" || format == "psd") {

  var res = prompt('DPI resolution ', 300, 'Batch');

  }

  if (format == "ai") {

  alert("Adobe Ai versions :\n\nAdobe 3.0 = 3\n\nAdobe 8.0 = 8\n\nAdobe 9.0 = 9\n\nAdobe 10 = 10\n\nAdobe CS1 = 11\n\nAdobe CS2 = 12\n\nAdobe CS3 = 13\n\nAdobe CS4 = 14\n\nAdobe CS5 = 15\n\nAdobe CS6 = 16\n\nAdobe CC 2013,2014,2015 = 17")

  var cs = prompt('Type Ai version ', 17, 'Batch');

  }

  var folder = Folder.selectDialog("Select Source Folder...");

  var files;

  var resolution = res;

  var ver = cs;

  //exporting

  //var lFolder = new Folder(folder + "/" + format);

  //lFolder.create();

  if (folder != null) {

  var subcarpets = prompt('Include subfolders when searching? yes o no?', "no", 'Batch');

  if (subcarpets == "no" || subcarpets == "yes") {

  if (subcarpets == "no") {

  files = folder.getFiles("*.ai");

  }

  if (subcarpets == "yes") {

  files = find_files(folder, ['.ai']);

  }

  var fileCount = files.length; // count them

  var log = fileCount + ' Files Processed  to ' + format + '\n';

  if (fileCount > 0) {

  for (i = 0; i < fileCount; i++) {

  var idoc = app.open(files);

  var tipe = files.name.substr(0, files.name.lastIndexOf('.')) || files.name;

  if (format == "ai") {

  exportAI();

  }

  if (format == "psd") {

  exportPSD();

  }

  if (format == "pdf") {

  exportPDF();

  }

  if (format == "jpg") {

  exportJPG();

  }

  if (format == "png") {

  exportPNG();

  }

  log += files + " to " + tipe + "." + format + '\n';

  }

  alert(fileCount + ' file(s) processed to ' + format);

  txtlog = new File(folder + '/textlog.txt');

  var isopen = txtlog.open("w"); //open file for editing

  if (isopen) //test file is open

  {

  txtlog.seek(0, 0);

  txtlog.write(log);

  txtlog.close();

  }

  } else {

  alert("There are no Illustrator files in this folder.");

  }

  } else {

  alert("sorry, the option \"" + subcarpets + "\" no exist.");

  }

  }

}

/////////////////////////////////////subfolders - Peter Kharel/////////////////////////////////////////////////////////////////

// recurse subfolders - Peter Kharel

function find_files(dir, mask_array) {

  var arr = [];

  for (var i = 0; i < mask_array.length; i++) {

  arr = arr.concat(find_files_sub(dir, [], mask_array.toUpperCase()));

  }

  return arr;

}

function find_files_sub(dir, array, mask) {

  var f = Folder(dir).getFiles('*.*');

  for (var i = 0; i < f.length; i++) {

  if (finstanceof Folder) {

  find_files_sub(f, array, mask);

  } else if (f.name.substr(-mask.length).toUpperCase() == mask) {

  array.push(f);

  }

  }

  return array;

}

//////////////////////////////////////TIPOS DE ARCHIVOS/////////////////////////////////////////////////////////////////

function exportPNG() {

  var pngExportOpts = new ExportOptionsPNG24();

  pngExportOpts.antiAliasing = true;

  pngExportOpts.artBoardClipping = true;

  pngExportOpts.horizontalScale = (resolution / 72) * 100;

  //pngExportOpts.matte = true;

  //pngExportOpts.matteColor = 0, 0, 0;

  pngExportOpts.saveAsHTML = false;

  pngExportOpts.transparency = true;

  pngExportOpts.verticalScale = (resolution / 72) * 100;

  idoc.exportFile(files, ExportType.PNG24, pngExportOpts);

  idoc.close(SaveOptions.DONOTSAVECHANGES);

  return pngExportOpts;

}

function exportJPG() {

  var jpgExportOpts = new ExportOptionsJPEG();

  jpgExportOpts.antiAliasing = true;

  jpgExportOpts.qualitySetting = 100;

  jpgExportOpts.horizontalScale = (resolution / 72) * 100;

  jpgExportOpts.verticalScale = (resolution / 72) * 100;

  jpgExportOpts.optimization = true;

  jpgExportOpts.artBoardClipping = true;

  idoc.exportFile(files, ExportType.JPEG, jpgExportOpts);

  idoc.close(SaveOptions.DONOTSAVECHANGES);

  return jpgExportOpts;

}

function exportAI() {

  var dest = new File(files + "_v"+ver+".ai");

  var illustratorSaveOpts = new IllustratorSaveOptions();

  if (ver == 17) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR17;

  }

  if (ver == 16) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR16;

  }

  if (ver == 15) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR15;

  }

  if (ver == 14) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR14;

  }

  if (ver == 13) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR13;

  }

  if (ver == 12) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR12;

  }

  if (ver == 11) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR11;

  }

  if (ver == 10) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR10;

  }

  if (ver == 9) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR9;

  }

  if (ver == 😎 {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR8;

  }

  if (ver == 3) {

  illustratorSaveOpts.compatibility = Compatibility.ILLUSTRATOR3;

  }

  illustratorSaveOpts.embedLinkedFiles = true;

  illustratorSaveOpts.fontSubsetThreshold = 0.0

  illustratorSaveOpts.pdfCompatible = true

  illustratorSaveOpts.embedICCProfile = false

  idoc.saveAs(dest, illustratorSaveOpts);

  idoc.close(SaveOptions.DONOTSAVECHANGES);

  return illustratorSaveOpts;

}

function exportPDF() {

  var pdfSaveOpts = new PDFSaveOptions();

  pdfSaveOpts.acrobatLayers = false;

  pdfSaveOpts.colorBars = false;

  pdfSaveOpts.colorCompression = CompressionQuality.AUTOMATICJPEGHIGH;

  pdfSaveOpts.compressArt = true; //default

  pdfSaveOpts.embedICCProfile = true;

  pdfSaveOpts.enablePlainText = true;

  pdfSaveOpts.generateThumbnails = true; // default

  pdfSaveOpts.optimization = true;

  pdfSaveOpts.pageInformation = false;

  pdfSaveOpts.preserveEditability = false;

  idoc.saveAs(files, pdfSaveOpts);

  idoc.close(SaveOptions.DONOTSAVECHANGES);

  return pdfSaveOpts;

}

function exportPSD() {

  var psdExportOpts = new ExportOptionsPhotoshop();

  idoc.documentColorSpace == DocumentColorSpace.CMYK ? psdExportOpts.imageColorSpace = ImageColorSpace.CMYK : psdExportOpts.imageColorSpace = ImageColorSpace.RGB;

  psdExportOpts.antiAliasing = true;

  psdExportOpts.embedICCProfile = true;

  psdExportOpts.writeLayers = true;

  psdExportOpts.resolution = resolution;

  psdExportOpts.maximumEditability = true;

  idoc.exportFile(files, ExportType.PHOTOSHOP, psdExportOpts);

  idoc.close(SaveOptions.DONOTSAVECHANGES);

  return psdExportOpts

}

This topic has been closed for replies.
Correct answer Qwertyfly___

oh! It is perfect, very clean and legible, thanks for helping me you're a very nice person, follow your advice , I will study more this code to keep adding more stuff

I try to find out how to add these things:

in pdf, add password option, select preset config.

in ai add embed links on/off

in psd, add cmyk or Rgb option

add text box to add script code Function


Update... Already!!!

found a bug where x to close caused error.

added password option for PDFs

//----------------------------------------------------------------------------

//

//          Illustrator Image Processer

//

//----------------------------------------------------------------------------

//

//          Original Script by:

//              Julioc4816867

//

//          Rebuilt by:

//              Qwertyfly

//              tristan@qwertyfly.com

//

//          Version 1.1

//              27/7/15

//

//----------------------------------------------------------------------------

//          Version History

//

//          Version 1.0

//          - The main addition to this script is the GUI

//          - Also alot of validation and a bit of code cleanup

//          - Please let me know of any bugs found

//          - Please let me know of any feature requests

//

//          Version 1.1

//          - Added Password option for PDFs

//          - fixed bug where x to close caused error

//         

//----------------------------------------------------------------------------

function main(){

    // ---------------------------------recurse subfolders - Thanks to Peter Kharel  ----------------------------------------------

    function find_files(dir, mask_array) { 

        var arr = []; 

        for (var i = 0; i < mask_array.length; i++) { 

            arr = arr.concat(find_files_sub(dir, [], mask_array.toUpperCase())); 

        } 

        return arr; 

    } 

    function find_files_sub(dir, array, mask) { 

        var f = Folder(dir).getFiles('*.*'); 

        for (var i = 0; i < f.length; i++) { 

            if (finstanceof Folder) { 

                find_files_sub(f, array, mask); 

            }else if(f.name.substr(-mask.length).toUpperCase() == mask) { 

                array.push(f); 

            } 

        } 

        return array; 

    }

    // ------------------------------------------------------------------------------------------------------------------------------------------

    function exportAI(doc, newFile, version) { 

        var illustratorSaveOpts = new IllustratorSaveOptions(); 

        illustratorSaveOpts.compatibility = Compatibility["ILLUSTRATOR" + version];

        illustratorSaveOpts.compressed = true; // Version 10+

        illustratorSaveOpts.pdfCompatible = true;  // Version 10+

        illustratorSaveOpts.embedICCProfile = false;  // Version 9+

        illustratorSaveOpts.embedLinkedFiles = true;  // Version 7+

        illustratorSaveOpts.fontSubsetThreshold = 0.0; 

        doc.saveAs(newFile, illustratorSaveOpts); 

        doc.close(SaveOptions.DONOTSAVECHANGES); 

    }

    function exportPDF(doc, newFile, pass) { 

        var pdfSaveOpts = new PDFSaveOptions(); 

        pdfSaveOpts.acrobatLayers = false; 

        pdfSaveOpts.colorBars = false; 

        pdfSaveOpts.colorCompression = CompressionQuality.AUTOMATICJPEGHIGH; 

        pdfSaveOpts.compressArt = true; //default 

        pdfSaveOpts.embedICCProfile = true; 

        pdfSaveOpts.enablePlainText = true; 

        pdfSaveOpts.generateThumbnails = true; // default 

        pdfSaveOpts.optimization = true; 

        pdfSaveOpts.pageInformation = false; 

        pdfSaveOpts.preserveEditability = false; 

        pdfSaveOpts.requirePermissionPassword = (pass?true:false); 

        if(pass){pdfSaveOpts.permissionPassword = pass;}

        pdfSaveOpts.pDFAllowPrinting = PDFPrintAllowedEnum.PRINT128LOWRESOLUTION; 

        doc.saveAs(newFile, pdfSaveOpts); 

        doc.close(SaveOptions.DONOTSAVECHANGES); 

    } 

    function exportPSD(doc, newFile, resolution) {

        var psdExportOpts = new ExportOptionsPhotoshop(); 

        doc.documentColorSpace == DocumentColorSpace.CMYK ? psdExportOpts.imageColorSpace = ImageColorSpace.CMYK : psdExportOpts.imageColorSpace = ImageColorSpace.RGB; 

        psdExportOpts.antiAliasing = true;

        psdExportOpts.embedICCProfile = true; 

        psdExportOpts.writeLayers = true; 

        psdExportOpts.resolution = resolution; 

        psdExportOpts.maximumEditability = true;

        doc.exportFile(newFile, ExportType.PHOTOSHOP, psdExportOpts);

        doc.close(SaveOptions.DONOTSAVECHANGES);

    }

    function exportJPG(doc, newFile, resolution) { 

        var jpgExportOpts = new ExportOptionsJPEG(); 

        jpgExportOpts.antiAliasing = true; 

        jpgExportOpts.qualitySetting = 100; 

        jpgExportOpts.horizontalScale = (resolution / 72) * 100; 

        jpgExportOpts.verticalScale = (resolution / 72) * 100; 

        jpgExportOpts.optimization = true; 

        jpgExportOpts.artBoardClipping = true; 

        doc.exportFile(newFile, ExportType.JPEG, jpgExportOpts); 

        doc.close(SaveOptions.DONOTSAVECHANGES);  

    } 

    function exportPNG(doc, newFile, resolution) { 

        var pngExportOpts = new ExportOptionsPNG24(); 

        pngExportOpts.antiAliasing = true; 

        pngExportOpts.artBoardClipping = true; 

        pngExportOpts.horizontalScale = (resolution / 72) * 100; 

        //pngExportOpts.matte = true; 

        //pngExportOpts.matteColor = 0, 0, 0; 

        pngExportOpts.saveAsHTML = false; 

        pngExportOpts.transparency = true; 

        pngExportOpts.verticalScale = (resolution / 72) * 100; 

        doc.exportFile(newFile, ExportType.PNG24, pngExportOpts); 

        doc.close(SaveOptions.DONOTSAVECHANGES); 

    }

    // ------------------------------------------------------------------------------------------------------------------------------------------

    function DateTime(){

        var now = new Date();

        return (now.getDate()<10?'0':'') + now.getDate() + '/'

                    +(now.getMonth()<9?'0':'')+(now.getMonth()+1)+'/'

                    +now.getFullYear() + ' @ '

                    + ((now.getHours() % 12)?(now.getHours() % 12):12) + ':'

                    + (now.getMinutes()<10?'0':'') + now.getMinutes() + ':'

                    + now.getSeconds() + (now.getHours()>=12?' pm':' am');

    }

    function createLog(log, destination){

        txtlog = new File(destination + '/textlog.txt');

        var isopen = txtlog.open("w"); //open file for editing 

        if (isopen) { //test file is open   

            txtlog.seek(0, 0); 

            txtlog.write(log); 

            txtlog.close(); 

        }

    }

    function window() {

        var w = {};   

        w = new Window("dialog",'Image Processor');

        w.spacing = 5;

        w.margins = 10;

        w.alignChildren = "left";

        //

        w.g1 = w.add("group");

        w.g1.alignment = ["fill","fill"];

        w.g1.orientation = "row";

        w.g1.stat = w.g1.add("statictext",undefined,'Select a File Type:');

        w.g1.dd = w.g1.add("dropdownlist",undefined,['ai', 'pdf', 'psd', 'jpg', 'png']);

        w.g1.dd.alignment = ["right","top"];

        w.g1.dd.selection = 4;

        w.g1.dd.onChange = function(){

            if(w.g1.dd.selection.index > 1){

                w.g2.dd.enabled = w.g2.stat.enabled = true;

            }else{

                w.g2.dd.enabled = w.g2.stat.enabled = false;

                if(w.g1.dd.selection.index == 0){

                    w.g3.dd.enabled = w.g3.stat.enabled = true;

                }else{

                    w.g3.dd.enabled = w.g3.stat.enabled = false;

                }

                if(w.g1.dd.selection.index == 1){

                    w.g1.passtat = w.g1.add("statictext",[180,0,240,23],'Password:');

                    w.g1.pass = w.g1.add("edittext",[240,0,320,23],'');

                }else{

                    try{

                        w.g1.remove(w.g1.passtat);

                        w.g1.remove(w.g1.pass);

                        w.layout.layout (true);

                    }catch (e){}

                }

            }

        }

        //

        w.g2 = w.add("group");

        w.g2.alignment = ["fill","fill"];

        w.g2.orientation = "row";

        w.g2.stat = w.g2.add("statictext",undefined,'Select a Resolution:');

        w.g2.dd = w.g2.add("dropdownlist",undefined,['72 dpi', '150 dpi', '300 dpi', 'custom']);

        w.g2.dd.alignment = ["right","top"];

        w.g2.dd.selection = 2;

        w.g2.dd.enabled = w.g2.stat.enabled = true;

        w.g2.dd.onChange = function(){

            if(w.g2.dd.selection == 3){

                w.g2.cus = w.g2.add("edittext",[240,0,300,23]);

                w.g2.cus.active = true;

                w.g2.cus.onDeactivate = function() { //may be good to make sure number is within a certain range

                    if(w.g2.cus.text == ''){

                        w.g2.dd.selection = 2; // if blank revert to default of 300 dpi

                    }else{

                        w.g2.cus.text = (w.g2.cus.text = w.g2.cus.text.replace(/[^\d.]/g, '')) + ' dpi';

                    }

                }

            }else{

                try{

                    w.g2.remove(w.g2.cus);

                    w.layout.layout (true);

                }catch (e){}

            }

        }

        //

        w.g3 = w.add("group");

        w.g3.alignment = ["fill","fill"];

        w.g3.orientation = "row";

        w.g3.stat = w.g3.add("statictext",undefined,'Set AI version Compatability:');

        var ver = [

            'Illustrator CC', '-', 'Legacy Formats',

            'Illustrator CS6', 'Illustrator CS5', 'Illustrator CS4', 'Illustrator CS3', 'Illustrator CS2', 'Illustrator CS',

            'Illustrator 10', 'Illustrator 9', 'Illustrator 8', 'Illustrator 3'

        ];

        w.g3.dd = w.g3.add("dropdownlist",undefined,ver);

        w.g3.dd.alignment = ["right","top"];

        w.g3.dd.items[2].enabled = false;

        w.g3.dd.selection = 0;

        w.g3.dd.enabled = w.g3.stat.enabled = false;

        w.g3.dd.onChange = function() {

            if(w.g3.dd.selection == null){

                w.g3.dd.selection = 0;

            }

        }

        //

        w.g4 = w.add("group");

        w.g4.alignment = ["fill","fill"];

        w.g4.orientation = "row";

        w.g4.stat = w.g4.add("statictext",undefined,'Source Folder:');

        w.g4.edit = w.g4.add("edittext",[100,0,300,23],'');

        w.g4.edit.alignment = ["right","centre"];

        w.g4.but = w.g4.add("button",undefined,'Browse...');

        w.g4.but.alignment = ["right","top"];

        w.g4.but.onClick = function() {

            w.g4.edit.text = Folder.selectDialog('Select Source Folder...')||'';

            w.g6.edit.text = w.g6.edit.text || w.g4.edit.text + '/processed';

            w.g7.go.enabled = Folder(w.g4.edit.text).exists;

        }

        w.g4.edit.onDeactivate = function() {

            w.g7.go.enabled = Folder(w.g4.edit.text).exists;

        }

        //

        w.g5 = w.add("group");

        w.g5.alignment = ["fill","fill"];

        w.g5.orientation = "row";

        w.g5.chk = w.g5.add("checkbox",undefined,'\u00A0Include subfolders?');

        w.g5.chk.alignment = ["right","top"];

        //

        w.g6 = w.add("group");

        w.g6.alignment = ["fill","fill"];

        w.g6.orientation = "row";

        w.g6.stat = w.g6.add("statictext",undefined,'Destination:');

        w.g6.edit = w.g6.add("edittext",[100,0,300,23],'');

        w.g6.edit.enabled = false;

        w.g6.edit.alignment = ["right","centre"];

        w.g6.but = w.g6.add("button",undefined,'Browse...');

        w.g6.but.alignment = ["right","top"];

        w.g6.but.onClick = function() {

            w.g6.edit.text = Folder.selectDialog('Select Destination Folder...')||'';

        }

        //

        w.g7 = w.add("group");

        w.g7.alignment = ["fill","fill"];

        w.g7.orientation = "row";

        w.g7.go = w.g7.add("button",undefined,'Start Processing');

        w.g7.go.enabled = false;

        w.g7.stop = w.g7.add("button",undefined,'Cancel');

        w.g7.stop.onClick = function(){

            w.close();

        }

        w.g7.go.onClick = function(){

            settings.fileType = w.g1.dd.selection.text;

            if(w.g1.dd.selection.index > 1){

                if(w.g2.dd.selection.text == 'custom') {

                    settings.resolution =  w.g2.cus.text.replace(' dpi','');

                }else{

                    settings.resolution =  w.g2.dd.selection.text.replace(' dpi','');

                }

            }else{

                settings.resolution = 'Not Set';

            }

            if(w.g1.dd.selection.index === 0){

                var vers = [17,null,null,16,15,14,13,12,11,10,9,8,3];

                settings.version = vers[w.g3.dd.selection.index];

            }else{

                settings.version = 'Not Set';

            }

            settings.source = Folder(w.g4.edit.text)||'Not Set';

            settings.destination = Folder(w.g6.edit.text)||'Not Set';

            settings.subfolders = w.g5.chk.value;

            settings.password = w.g1.pass.text;

            exit = true;

            w.close();

        }

    w.show();

    }

    // ------------------------------------------------------------------------------------------------------------------------------------------

    var  timer, exit = false, files, settings = {};

    window();

    timer = Date.now();

   

    // Exit if cancelled

    if(exit===false){return;}

   

    // Get list of files to process

    if (settings.subfolders) {

        files = find_files(settings.source, ['.ai']);

    }else{

        files = settings.source.getFiles('*.ai'); 

    }

   

    // exit if no files found

    if(files.length === 0){

        alert('no files found to process in:\n' + settings.source);

        return;

    }

    // warn before possibly overwriting files

    if(Folder(settings.destination).exists && settings.destination.getFiles().length>0){

            var ow = confirm('Destination folder exists.\n'

                + 'Continuing may result in files being overwritten.\n'

                + 'Are you sure you wish to continue?')

            if(ow===false){

                return;

            }

    }

    // Create new folder if needed

    var destination = new Folder(settings.destination);

    if (!destination.exists){

        destination.create();

    }

   

    // start log string

    var log = 'Image Processer\n\n' + DateTime() + '\n'

          + files.length + ' Files found in selected directory' + (settings.subfolders === true?' and subfolders':'') + '\n'

          + 'Converting to ".' + settings.fileType + '"' + (settings.resolution > 0?' at ' + settings.resolution + ' dpi':'') + '\n'

          + (settings.password?'Password: ' + settings.password + '\n':'')

          + (settings.fileType==='ai'?'with Illustrator compatability to Version ' + settings.version + '\n':'')

          + 'From:    ' + settings.source + '\n'

          + 'To:        ' + settings.destination + '\n\n';

    // Process Files

    var count = 0;

    for(var i = 0; i<files.length; i++) {

        var doc = app.open(files);

        var newDoc = new File(destination + '/'

            + (files.name.substr(0, files.name.lastIndexOf('.')) || files.name)

            + (settings.fileType=='ai'?'_v' + settings.version:'') + '.' + settings.fileType);

       

        switch(settings.fileType){

            case 'ai':

                exportAI(doc, newDoc, settings.version);

                break;

            case 'pdf':

                exportPDF(doc, newDoc, settings.password);

                break;

            case 'psd':

                exportPSD(doc, newDoc, settings.resolution);

                break;

            case 'jpg':

                exportJPG(doc, newDoc, settings.resolution);

                break;

            case 'png':

                exportPNG(doc, newDoc, settings.resolution)

                break;

        }

        count++

        log = log + count + ')   ' + decodeURIComponent(files.name) + ' ------> ' + decodeURIComponent(newDoc.name) + '\n'

    }

    // finalise log file

    log = log + '\nTotal of ' + count + (count>1?' files':' file') + ' Processed\nCompleted on the ' + DateTime();

    createLog(log, destination);

    var x = (Date.now()-timer);

    var viewLog = confirm('conversion completed in:\n'

        + Math.floor(x/1000/60) + ' Minutes, '

        + Math.floor(x/1000%60) + ' Seconds, and '

        + x%1000 + ' Milliseconds\n\nWould you like to view the log file?');

    if(viewLog){

        File(destination + '/textlog.txt').execute();

    }

}

main();

2 replies

Inspiring
July 27, 2015

Really nice job Qwertyfly, definitely above and beyond.

Qwertyfly... wrote:  I have done a rewrite for you. ... Your script is 235 lines and has much blank space. ... I managed to slim it down to 364 lines !?

Ha, ha.

Inspiring
July 18, 2015

Hi,

- Presently it sounds like its working?

- If so, does it run inefficiently or something?

- If not then what or why does it need improved or simplified?

julioc4816867
Known Participant
July 18, 2015

sorry my bad english

hi, thanks for answering, I combined several scripts found in this forum actually works, but I wonder if the script is well written or organized, can simplify this script to work faster?

Inspiring
July 18, 2015

Your English is good. So does it work slow now?