Please try this, this will add a command at the bottom of Tools menu....
Code: Select all#target bridge
if( BridgeTalk.appName == "bridge" ) {
var jpgToPsd = new MenuElement( "command", "Copy Meta to PSD", "at the end of Tools" , "cpy2psd" );
}
jpgToPsd.onSelect = function () {
app.document.deselectAll();
var thumbs = app.document.getSelection("jpg");
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
for (var a in thumbs){
var Name = thumbs[a].spec.name.replace(/\.[^\.]+$/, '');
var Rating='';
var t = new Thumbnail(thumbs[a]);
var md = t.synchronousMetadata;
md.namespace = "
http://purl.org/dc/elements/1.1/";
var Desc = "'"+ md.description+"'";
if(Desc != "''") Desc = Desc.replace(/'/g,'');
md.namespace = "
http://ns.adobe.com/photoshop/1.0/";
var Keys = md.Keywords;
var PSD = File(thumbs[a].spec.path + "/"+Name + ".psd");
if(PSD.exists){
try{
var thumb = new Thumbnail(PSD);
var selectedFile = thumb.spec;
var myXmpFile = new XMPFile( selectedFile.fsName, XMPConst.UNKNOWN, XMPConst.OPEN_FOR_UPDATE);
var myXmp = myXmpFile.getXMP();
if(Desc != '""'){
myXmp.deleteProperty(XMPConst.NS_DC, "description");
myXmp.setLocalizedText( XMPConst.NS_DC, "description", null, "x-default", Desc );
}
if(Keys.length >0){
myXmp.deleteProperty(XMPConst.NS_DC,'subject');
for(var s in Keys){
myXmp.appendArrayItem(XMPConst.NS_DC, "subject", Keys[s], 0,XMPConst.PROP_IS_ARRAY);
}
}
if (myXmpFile.canPutXMP(myXmp)) {
myXmpFile.putXMP(myXmp);
myXmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
}
}catch(e){alert(e+ " occured at line : " + e.line);}
}
}
}