Bridge: Contextual "Batch" command

  • 1
  • Idea
  • Updated 9 months ago
  • (Edited)
I run Batch operations from Bridge to Photoshop all day long. Photoshop installs scripts which create the Tools->Photoshop submenu but its much easier to right-click a selection in the Bridge browser window than to keep diving into the submenu.

If you add this little script to Bridge, it creates a contextual menu item and calls the same routine as the Tools->Photoshop->Batch menu command, to send a group of files to Photoshop.

Save as a ".jsx" file from a text editor, select Preferences->Startup Scripts in bridge and click the Reveal button. Drag the .jsx file into that folder and relaunch Bridge.

-----------------------------

#target bridge
if(BridgeTalk.appName == 'bridge'){
    var openCommand = new MenuElement('command', 'Batch...', 'after Thumbnail/Open', this.menuID);
    }

openCommand.onSelect = function(){
    openBatch();
    }

function openBatch(){
    try{
        if(app.document.selections.length > 0){
            photoshop.batchFromBridge();
            }
        else{
            alert('No files chosen.');
            }
        return;
        }
    catch(e){
        }
    }

-----------------------------
Photo of David Converse

David Converse

  • 739 Posts
  • 219 Reply Likes

Posted 9 months ago

  • 1
Photo of Paul Riggott

Paul Riggott

  • 360 Posts
  • 144 Reply Likes
I have been using this script for a few years (CS6)

#target bridge
if( BridgeTalk.appName == "bridge" ) {
var menu = MenuElement.find ("contextTools");
if (menu == null) var newMenu = MenuElement.create( "menu", "Photoshop", "at the end of Thumbnail", "contextTools" );

var IProc = new MenuElement("command","Image Processor...", "at the end of contextTools","ImageProc");
var ThumbBatch = new MenuElement("command","Batch...", "at the end of contextTools","BatchProc");
var stackFromBridge = new MenuElement("command","Load files into Photoshop layers", "at the end of contextTools","StacktoLayers");
var PhotoMerg = new MenuElement("command","Photomerge...", "at the end of contextTools","PhotoMerg");
var mergeToHDR = new MenuElement("command","Merge to HDR Pro.", "at the end of contextTools","MergHDR");
var contactSheet = new MenuElement("command","Contact Sheet II...", "at the end of contextTools","Contactsheet");
var lensCorrect = new MenuElement("command","Lens Correction...", "at the end of contextTools","lensCorrection");
var picturePack = new MenuElement("command","Picture Package...", "at the end of contextTools","picPackage");
var place = new MenuElement("command","Place in Photoshop...", "at the end of contextTools","picPlace");
var print = new MenuElement("command","Print...", "at the end of contextTools","picPrint");
}
IProc.onSelect =photoshop.imageprocessorFromBridge;
ThumbBatch.onSelect = photoshop.batchFromBridge;
stackFromBridge.onSelect = photoshop.loadFilesIntoStackFromBridge;
PhotoMerg.onSelect = photoshop.photomergeFromBridge;
mergeToHDR.onSelect = photoshop.mergeToHDRFromBridge;
contactSheet.onSelect = photoshop.contactSheetFromBridge;
lensCorrect.onSelect = photoshop.lensCorrectFromBridge;
picturePack.onSelect = photoshop.picturePackageFromBridge;
place.onSelect = function(){
photoshop.place(app.document.selections[0].spec);
};
print.onSelect = function(){
//photoshop.jsx needs amendment from document.print(); to document.printOneCopy(); for CS6
photoshop.print(app.document.selections[0].spec);
}

Photo of David Converse

David Converse

  • 713 Posts
  • 215 Reply Likes
Batch is the only thing I use from those commands. I don't know why there isn't a contextual command already but at least the fix is easy.