Could you try this...
#target Photoshop
app.bringToFront();
function main(){
var win = new Window( 'dialog', 'Compliments Adobe Forum' );
g = win.graphics;
var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);
g.backgroundColor = myBrush;
win.alignChildren="row";
win.g10 = win.add('group');
win.g10.orientation = "row";
win.title = win.g10.add('statictext',undefined,'Batch Process Tiff Files');
win.title.alignment="bottom";
var g = win.title.graphics;
g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"});
win.p1.alignChildren="fill";
win.g20 =win.p1.add('group');
win.g20.cb1 = win.g20.add('statictext',undefined,'Please Select Top Level Folder :-');
win.g25 =win.p1.add('group');
win.g25.spacing=10;
win.g25.orientation = 'row';
win.g25.alignment="left";
win.g25.et1 = win.g25.add('edittext',undefined,'');
win.g25.et1.preferredSize=[300,20];
win.g25.et1.enabled=false;
win.g25.bu1 = win.g25.add('button',undefined,'Browse');
win.g25.bu1.onClick = function() {
imageFolder = Folder.selectDialog("Please select the top level folder");
if(imageFolder !=null){
win.g25.et1.text = decodeURI(imageFolder.fsName);
}
}
win.g29 =win.p1.add('group');
win.g29.spacing=0;
win.g29.orientation = 'row';
win.g29.alignment="left";
win.g29.cb1 = win.g29.add('checkbox',undefined,'Resize to fit');
win.g29.cb1.preferredSize=[120,20];
win.g29.st1 = win.g29.add('statictext',undefined,'W: ');
win.g29.et1 = win.g29.add('edittext',undefined,'')
win.g29.et1.preferredSize=[50,20];
win.g29.st2 = win.g29.add('statictext',undefined,'px');
win.g29.st2.preferredSize=[100,20];
win.g29.st3 = win.g29.add('statictext',undefined,'H: ');
win.g29.et2 = win.g29.add('edittext',undefined,'');
win.g29.et2.preferredSize=[50,20];
win.g29.st4 = win.g29.add('statictext',undefined,'px');
win.g29.et1.enabled=false;
win.g29.et2.enabled=false;
win.g29.cb1.onClick = function(){
if(win.g29.cb1.value){
win.g29.et1.enabled=true;
win.g29.et1.active=true;
win.g29.et2.enabled=true;
}else{
win.g29.et1.enabled=false;
win.g29.et2.enabled=false;
}
}
win.g29.et1.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g29.et2.onChanging = function() {
if (this.text.match(/[^\-\.\d]/)) {
this.text = this.text.replace(/[^\-\.\d]/g, '');
}
};
win.g30 =win.p1.add('group');
win.g30.spacing=10;
win.g30.orientation = 'row';
win.g30.alignment="left";
win.g30.cb1 = win.g30.add('checkbox',undefined,'Run Action 1');
win.g30.dd1 = win.g30.add('dropdownlist');
win.g30.dd1.preferredSize=[150,20];
win.g30.dd2 = win.g30.add('dropdownlist');
win.g30.dd2.preferredSize=[150,20];
win.g30.dd1.enabled=false;
win.g30.dd2.enabled=false;
win.g30.cb1.onClick = function(){
if(win.g30.cb1.value){
win.g30.dd1.enabled=true;
win.g30.dd2.enabled=true;
}else{
win.g30.dd1.enabled=false;
win.g30.dd2.enabled=false;
}
}
win.p2= win.p1.add("panel", undefined, undefined, {borderStyle:"black"});
win.p2.preferredSize=[400,2];
win.p1.st1 = win.p1.add('statictext',undefined,"Save As :-");
var z = win.p1.st1.graphics;
z.font = ScriptUI.newFont("Georgia","BOLDITALIC",18);
win.g65 =win.p1.add('group');
win.g65.spacing=10;
win.g65.orientation = 'row';
win.g65.alignment="left";
win.g65.cb1 = win.g65.add('checkbox',undefined,"JPG");
win.g65.st1 = win.g65.add('statictext',undefined,"Quality :-");
var jpgQuality=[1,2,3,4,5,6,7,8,9,10,11,12];
win.g65.dd1 = win.g65.add('dropdownlist',undefined,jpgQuality);
win.g65.dd1.selection=7;
win.g65.dd1.enabled=false;
win.g65.cb1.onClick = function(){
if(win.g65.cb1.value){
win.g65.dd1.enabled=true;
win.g70.cb1.value=false;
win.g70.dd1.enabled=false;
win.g70.dd2.enabled=false;
win.g70a.cb1.enabled=false;
win.g70a.cb2.enabled=false;
win.g70a.cb3.enabled=false;
}else{
win.g65.dd1.enabled=false;
}
}
win.p3= win.p1.add("panel", undefined, undefined, {borderStyle:"etched"});
win.g70 =win.p3.add('group');
win.g70.spacing=10;
win.g70.orientation = 'row';
win.g70.alignment="left";
win.g70.cb1 = win.g70.add('checkbox',undefined,"Save For Web");
win.g70.dd1 = win.g70.add('dropdownlist');
for(var a = 1;a<101;a++){
win.g70.dd1.add('item', a);
}
win.g70.dd1.selection=79;
win.g70.dd2 = win.g70.add('dropdownlist');
var MetaList = [['No Metadata','MDNn'],
['All Metadata','MDAl'],
['Copyright','MDCp' ],
['Copyright and Contact Info','MDCC'],
['All Except Camera Info','MDAx']];
for (var i in MetaList) {
win.g70.dd2.add('item',MetaList[0]);
}
win.g70.dd2.selection=0;
win.g70.dd2.enabled=false;
win.g70.dd1.enabled=false;
win.g70.cb1.onClick = function(){
if(win.g70.cb1.value){
win.g70.dd1.enabled=true;
win.g70.dd2.enabled=true;
win.g65.cb1.value=false;
win.g65.dd1.enabled=false;
win.g70a.cb1.enabled=true;
win.g70a.cb2.enabled=true;
win.g70a.cb3.enabled=true;
}else{
win.g70.dd1.enabled=false;
win.g70.dd2.enabled=false;
win.g70a.cb1.enabled=false;
win.g70a.cb2.enabled=false;
win.g70a.cb3.enabled=false;
}
}
win.g70a =win.p3.add('group');
win.g70a.spacing=10;
win.g70a.orientation = 'row';
win.g70a.alignment="left";
win.g70a.cb1 = win.g70a.add('checkbox',undefined,"Embed Profile");
win.g70a.cb2 = win.g70a.add('checkbox',undefined,"sRGB");
win.g70a.cb3 = win.g70a.add('checkbox',undefined,"Progressive");
win.g70a.cb2.value=true;
win.g70a.cb1.enabled=false;
win.g70a.cb2.enabled=false;
win.g70a.cb3.enabled=false;
win.g150 =win.p1.add('group');
win.g150.spacing=10;
win.g150.orientation = 'row';
win.g150.alignment="top";
win.g150.bu1 = win.g150.add('button',undefined,"Process");
win.g150.bu1.preferredSize=[200,20];
win.g150.bu2 = win.g150.add('button',undefined,"Cancel");
win.g150.bu2.preferredSize=[200,20];
if (app.version.match(/\d+/) ==10){
win.g70.dd2.visible=false;
win.g70a.cb2.visible=false;
win.g70a.cb3.visible=false;
}
var actionSets = new Array();
actionSets = getActionSets();
for (var i=0,len=actionSets.length;i<len;i++) {
win.g30.dd1.add ('item', "" + actionSets);
};
win.g30.dd1.selection=0;
var actions = new Array();
actions = getActions(actionSets[0]);
for (var i=0,len=actions.length;i<len;i++) {
win.g30.dd2.add ('item', "" + actions);
};
win.g30.dd2.selection=0;
win.g30.dd1.onChange = function() {
win.g30.dd2.removeAll();
actions = getActions(actionSets[parseInt(this.selection)]);
for (var i=0,len=actions.length;i<len;i++) {
win.g30.dd2.add ('item', "" + actions);
}
win.g30.dd2.selection=0;
};
win.g150.bu1.onClick = function(){
if(win.g25.et1.text == '') {
alert("No Folder Has Been Selected!");
return;
}
if(win.g29.cb1.value && win.g29.et1.text == ''){
alert("No Resize Width Has Been Entered!");
return;
}
if(win.g29.cb1.value && win.g29.et2.text == ''){
alert("No Resize Height Has Been Entered!");
return;
}
if(!win.g65.cb1.value && !win.g70.cb1.value){
alert("No Save FileType Has Been Selected!");
return;
}
if(win.g29.cb1.value){
var WIDTH = parseInt(win.g29.et1.text);
var HEIGHT= parseInt(win.g29.et2.text);
if((isNaN(WIDTH)) || (WIDTH < 1)){
alert( "Not a valid entry!\nResize Width MUST be greater than 1.");
return;
}
if((isNaN(HEIGHT)) || (HEIGHT < 1)){
alert( "Not a valid entry!\nResize Height MUST be greater than 1.");
return;
}
}
win.close(1);
process();
}
win.show();
function process(){
folderList=[];
if (imageFolder != null) {
processFolder(imageFolder);
folderList.unshift(imageFolder);
for (var a =0;a<folderList.length;a++){
processFiles(folderList);
}
}
}
function processFiles(folder){
var tiffs = folder.getFiles ("*.tif");
if(tiffs.length == 0) return;
var OrginalFolder = folder;
var OrginalFolderName = OrginalFolder.name;
var destParent = Folder(decodeURI(OrginalFolder.parent).replace(/hi/gi,'lo'));
if(!destParent.exists) destParent.create();
var destFolder = Folder(destParent+"/"+ OrginalFolderName);
if(!destFolder.exists) destFolder.create();
for (var a in tiffs){
open(tiffs);
var Name = decodeURI(tiffs.name).replace(/\.[^\.]+$/, '');
var saveFile = File(destFolder+"/"+Name+".jpg");
var doc = activeDocument;
doc.flatten();
if (doc.bitsPerChannel != BitsPerChannelType.EIGHT) doc.bitsPerChannel = BitsPerChannelType.EIGHT;
activeDocument.pathItems.removeAll();
if(win.g29.cb1.value) FitImage( parseInt(win.g29.et1.text), parseInt(win.g29.et2.text) );
if(win.g30.cb1.value){
doAction(win.g30.dd2.selection.text, win.g30.dd1.selection.text);
doc.flatten();
}
if(win.g65.cb1.value) SaveJPEG(saveFile, (Number(win.g65.dd1.selection.index)+1));
if (app.version.match(/\d+/) == 10 && win.g70.cb1.value){//SFW CS3
SaveForWebCS3(saveFile,(Number(win.g70.dd1.selection.index)+1),win.g70a.cb1.value);
}
if (app.version.match(/\d+/) > 10 && win.g70.cb1.value){//SFW CS4or5
var Quality = Number(win.g70.dd1.selection.index)+1;
var Profile ='';
if(win.g70a.cb2.value ? Profile = 'CHsR' : Profile = 'CHDc' );
var MetaData = MetaList[Number(win.g70.dd2.selection.index)][1];
var Progressive = 1;
if(win.g70a.cb3.value) Progressive = 3;
var Embed = win.g70a.cb1.value;
CS4orCS5SFW(saveFile,Quality,MetaData,Profile,Progressive,Embed);
}
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
function getActionSets() {
cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };
var i = 1;
var sets = [];
while (true) {
var ref = new ActionReference();
ref.putIndex(cTID("ASet"), i);
var desc;
var lvl = $.level;
$.level = 0;
try {
desc = executeActionGet(ref);
} catch (e) {
break; // all done
} finally {
$.level = lvl;
}
if (desc.hasKey(cTID("Nm "))) {
var set = {};
set.index = i;
set.name = desc.getString(cTID("Nm "));
set.toString = function() { return this.name; };
set.count = desc.getInteger(cTID("NmbC"));
set.actions = [];
for (var j = 1; j <= set.count; j++) {
var ref = new ActionReference();
ref.putIndex(cTID('Actn'), j);
ref.putIndex(cTID('ASet'), set.index);
var adesc = executeActionGet(ref);
var actName = adesc.getString(cTID('Nm '));
set.actions.push(actName);
}
sets.push(set);
}
i++;
}
return sets;
};
function getActions(aset) {
cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };
var i = 1;
var names = [];
if (!aset) {
throw "Action set must be specified";
}
while (true) {
var ref = new ActionReference();
ref.putIndex(cTID("ASet"), i);
var desc;
try {
desc = executeActionGet(ref);
} catch (e) {
break;
}
if (desc.hasKey(cTID("Nm "))) {
var name = desc.getString(cTID("Nm "));
if (name == aset) {
var count = desc.getInteger(cTID("NmbC"));
var names = [];
for (var j = 1; j <= count; j++) {
var ref = new ActionReference();
ref.putIndex(cTID('Actn'), j);
ref.putIndex(cTID('ASet'), i);
var adesc = executeActionGet(ref);
var actName = adesc.getString(cTID('Nm '));
names.push(actName);
}
break;
}
}
i++;
}
return names;
};
function processFolder(folder) {
var fileList = folder.getFiles()
for (var i = 0; i < fileList.length; i++) {
var file = fileList;
if (file instanceof Folder) {
folderList.push(file);
processFolder(file);
}
}
}
function FitImage( inWidth, inHeight ) {
var desc = new ActionDescriptor();
var unitPixels = charIDToTypeID( '#Pxl' );
desc.putUnitDouble( charIDToTypeID( 'Wdth' ), unitPixels, inWidth );
desc.putUnitDouble( charIDToTypeID( 'Hght' ), unitPixels, inHeight );
var runtimeEventID = stringIDToTypeID( "3caa3434-cb67-11d1-bc43-0060b0a13dc4" );
executeAction( runtimeEventID, desc, DialogModes.NO );
};
function SaveJPEG(saveFile, jpegQuality){
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = jpegQuality;
activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE);
}
function SaveForWebCS3(saveFile,jpegQuality,Profile) {
if(Profile == undefined) Profile = false;
var sfwOptions = new ExportOptionsSaveForWeb();
sfwOptions.format = SaveDocumentType.JPEG;
sfwOptions.includeProfile = Profile;
sfwOptions.interlaced = 0;
sfwOptions.optimized = true;
sfwOptions.quality = jpegQuality;
activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, sfwOptions);
}
function CS4orCS5SFW(FileName,Quality,MetaData,Profile,Progressive,Embed) {
var desc7 = new ActionDescriptor();
var desc8 = new ActionDescriptor();
desc8.putEnumerated( charIDToTypeID('Op '), charIDToTypeID('SWOp'), charIDToTypeID('OpSa') );
desc8.putEnumerated( charIDToTypeID('Fmt '), charIDToTypeID('IRFm'), charIDToTypeID('JPEG') );
desc8.putBoolean( charIDToTypeID('Intr'), false );
desc8.putInteger( charIDToTypeID('Qlty'), Quality );
desc8.putInteger( charIDToTypeID('QChS'), 0 );
desc8.putInteger( charIDToTypeID('QCUI'), 0 );
desc8.putBoolean( charIDToTypeID('QChT'), false );
desc8.putBoolean( charIDToTypeID('QChV'), false );
desc8.putBoolean( charIDToTypeID('Optm'), true );
desc8.putInteger( charIDToTypeID('Pass'), Progressive );
desc8.putDouble( charIDToTypeID('blur'), 0.000000 );
desc8.putBoolean( charIDToTypeID('EICC'), Embed );
desc8.putBoolean( charIDToTypeID('Mtt '), false );
desc8.putInteger( charIDToTypeID('MttR'), 255 );
desc8.putInteger( charIDToTypeID('MttG'), 255 );
desc8.putInteger( charIDToTypeID('MttB'), 255 );
desc8.putBoolean( charIDToTypeID('SHTM'), false );
desc8.putBoolean( charIDToTypeID('SImg'), true );
desc8.putEnumerated( charIDToTypeID('SWch'), charIDToTypeID('STch'), charIDToTypeID(Profile) );
desc8.putEnumerated( charIDToTypeID('SWmd'), charIDToTypeID('STmd'), charIDToTypeID(MetaData) );
desc8.putBoolean( charIDToTypeID('SSSO'), false );
var list2 = new ActionList();
desc8.putList( charIDToTypeID('SSLt'), list2 );
desc8.putBoolean( charIDToTypeID('DIDr'), false );
desc8.putPath( charIDToTypeID('In '), new File( FileName ));
desc7.putObject( charIDToTypeID('Usng'), stringIDToTypeID('SaveForWeb'), desc8 );
executeAction( charIDToTypeID('Expr'), desc7, DialogModes.NO );
};
}
main()