+ Reply to Thread
Results 1 to 6 of 6
Like Tree3Likes
  • 2 Post By Paul MR
  • 1 Post By Barbara

Thread: In need of a script to run Photoshop Actions at startup!

  1. #1
    Junior Member
    Join Date
    Mar 2011
    Location
    Ottawa
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    In need of a script to run Photoshop Actions at startup!

    Good afternoon,

    I'm in need of a Script to automatically run my photoshop actions at startup. I work with actions all day long and create multiple actions throughout the day. This wouldn't be a problem normally but with the company we have five computers and all of them require the SAME actions so that anything and everything can be run on any computer. It's not so bad when I'm alone and have the time to manually update or load the actions in each computer. But I would like Photoshop to grab the actions automatically at startup from ONE file on a server. I know I can create a script but I'm useless at them and I'm wondering if anyone out there has one I can either purchase or download freely. (P.S. The script must work with ALL versions of Photoshop CS and up.)

    Thx,
    Kasha.

  2. #2
    The Script Master
    Join Date
    May 2009
    Location
    Bradford,UK
    Posts
    208
    Thanks
    0
    Thanked 39 Times in 34 Posts

    Re: In need of a script to run Photoshop Actions at startup!

    I think you will be out of luck, as to run an action or script on startup you would require "Script Event Manager" and this was implemented in CS2. So CS versions would have to be manually triggered and that is if it is even possible! I don't know if the CS2+ code would work with CS.

    You also mentioned a single file, do you mean all your actions are in one atn file?

    Would you need to unload the existing atn(s) if it/they exists before loading the new one(s)?

    It should be possible to script this, but saving existing atns still can not be done with a script, so a back-up of the atn files should be done.

  3. #3
    Junior Member
    Join Date
    Mar 2011
    Location
    Ottawa
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: In need of a script to run Photoshop Actions at startup!

    Hey,

    Thx for replying.

    We do have later versions of CS (like CS2, 3 and 4 and are currently in the works of getting CS5). I was kinda hoping for a script that worked with CS because all the current scripts I utilize only work with CS (because it was the only version my boss had bought when they were all created. PS: I didn't do them which is why I can't create the one I need or modify the old ones.) But I would take one that works with later versions if someone has one.

    As for my actions, all the ones I do utilize are in one set (or one atn file). They would need to be unloaded before Photoshop is shut down but I can easily show my coworkers how to do that and it's not so bad if they forget. The only reason I want the set to be loaded on startup is that so none of the actions that are required for some of our scripts will be forgotten. (That just creates a huge mess for me to clean up.) Also, if I know that I do a change to the set (always in the same location) that the next time someone starts their photoshop, it will be the set with my changes. My coworkers aren't very good with photoshop so anything I can automate is better. Hell, if I could I would have the computers start up automatically at 5 am, open photoshop, load the actions and update the actions whenever someone makes a change then reload and replace the set for anyone who has photoshop working. (of course there would be a message alerting the user that changes are going to be updated) But that's just me.

    I'm sorry for the novel I'm writing, do you know of someone who might have a script for CS2 and later to load a set of actions on startup? My programmer is currently extremely busy and if I can take this load off his shoulders it would be great! Unless you wanna walk me through editing a script and creating a new one?!

    Thx, again!

  4. #4
    The Script Master
    Join Date
    May 2009
    Location
    Bradford,UK
    Posts
    208
    Thanks
    0
    Thanked 39 Times in 34 Posts

    Re: In need of a script to run Photoshop Actions at startup!

    You will need to use ExtendScript Toolkit (ESTK), this gets installed with Photoshop
    and is the integrated development environment (IDE).
    This utility can be found in the relevant folder:-
    PC: C:\Program Files\Adobe\Adobe Utilities
    MAC: <hard drive>/Applications/Utilities/Adobe Utilities
    Note: CS3 or CS4 ExtendScript Toolkit will be the best.

    First put the ActionSet.atn on your server.
    Now you need to get the correct path to this file so run the following code in a new window, this will then write the correct path to the ESTK Console
    so that it can be copied and pasted into the script.

    Code:
    var ATN = File.openDialog("Please select Action Set file.","ATN File:*.atn"); 
    if(ATN != null) $.writeln(decodeURI(ATN));
    Here is the actual code that will unload the ActionSet if it exists then load the new one.
    Code:
    function main(){
    //Paste your path and filename below.
    //////////////////////////////////////////////////////////////////////////////////////
    var atnFile = new File("//Paulr-pc/i/Test Area/Special Actions.atn");
    //////////////////////////////////////////////////////////////////////////////////////
    var rex = new RegExp (decodeURI(atnFile.name.replace(/\.[^\.]+$/, '')), "g");
    //Check if atn file exists
    if(!atnFile.exists){
        alert("You ActionSet does not exist!\Please contact your administrator.");
        return;
        }
    //Get a List of all ActionSets
    var actionList =getActionSets();
    //if ActionSet Exists remove it.
    for(var d in actionList){
    if(decodeURI(actionList[d]).match(rex)) unLoadAction(actionList[d]);
     }
    //Load the action set
    app.load(atnFile);
    //Check it loaded ok
    var actionList =getActionSets();
    var flag = false;
    for(var d in actionList){
    if(decodeURI(actionList[d]).match(rex)) flag=true;
     }
    if(!flag){
       alert("The ActionSet did not load\nPlease contact the administrator");
       return;
        }
    }
    main();
    function getActionSets() { 
    cTID = function(s) { return app.charIDToTypeID(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;
        } 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 unLoadAction(aSet){
    var desc = new ActionDescriptor(); 
    var ref = new ActionReference(); 
    ref.putName( charIDToTypeID( "ASet" ), decodeURI(aSet)); 
    desc.putReference( charIDToTypeID( "null" ), ref ); 
    executeAction( charIDToTypeID( "Dlt " ), desc, DialogModes.NO );
    };
    Note: Photoshop CS uses Filename.js but Photoshop CS2 or newer uses Filename.jsx (extended)
    If you are using windows Vista/Windows 7 you will need to save the script somewhere you will access (DeskTop will do)
    Then copy the script to:
    PC: C:\Program Files\Adobe\Adobe Photoshop CS#\Presets\Scripts\Event Scripts Only
    MAC: <hard drive>/Applications/Adobe Photoshop CS#/Presets/Scripts/Event Scripts Only
    # being the CS version
    If Photoshop was open close and restart it so that it can pick up the new script.
    Now you need to set up:-
    File - Script Events Manager
    Tick Enable Events to run Scripts/Actions
    Select Photoshop Event: Start Application
    Select your new script from the next dropdown box
    Click Add

    Thats it you are done.
    There may be a startup folder for CS that you could put the script into (with a .js extension) but can't remember that far back.
    Good Luck!
    admin and Steve like this.

  5. The Following 2 Users Say Thank You to Paul MR For This Useful Post:

    admin (03-29-2011), Steve (03-28-2011)

  6. #5
    Junior Member
    Join Date
    Mar 2011
    Location
    Ottawa
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: In need of a script to run Photoshop Actions at startup!

    Hey! Thx for the help... I haven't implemented it yet but it's a start for me... I'll let you know if everything works out! Thx again!

  7. #6
    Junior Member
    Join Date
    Apr 2011
    Location
    Toronto
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: In need of a script to run Photoshop Actions at startup!

    There is a method called doAction() on the Application class.
    You can write a script where you enter the names of the actions you want to run.
    Something like this:
    app.doAction("myActionName", "myActionSet");
    and save the file as .jsx

    To have the script run on startup go to File->Scripts->Script Events Manager.
    Check the box 'Enable Events to Run Scripts/Actions' and then browse to the script file you want to run. Click the Add button. The script should be added to the list.

    I only work in versions CS4 and later so I don't know if the advice above will work for earlier versions.
    I hope this helps
    cheers
    Barb
    Steve likes this.

 

 

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Powered by vBulletin® Version 4.1.9
Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.
Content Relevant URLs by vBSEO 3.6.0
Copyright 2011 Photoshop Gurus Forum. All rights reserved.
All times are GMT -5. The time now is 09:11 AM.
vBulletin Skins