Please try this script on selected documents...
#target bridge;
if( BridgeTalk.appName == "bridge" ) {
CreatorFields = MenuElement.create("command", "Update Desc From Creator Fields", "at the end of Tools");
}
CreatorFields.onSelect = function () {
var thumbs = app.document.selections;
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
for(var a in thumbs){
updateThumb(thumbs);
}
function updateThumb(selectedFile){
desc = '';
function getArrayItems(xmp,ns, prop){
var arrItem=[];
try{
var items = xmp.countArrayItems(ns, prop);
for(var i = 1;i <= items;i++){
arrItem.push(xmp.getArrayItem(ns, prop, i));
}
return arrItem.toString();
}catch(e){alert(e +" Line: "+ e.line);}
};
var xmp = new XMPMeta(selectedFile.synchronousMetadata.serialize());
if(xmp.doesPropertyExist(XMPConst.NS_DC, "description")){
desc = getArrayItems(xmp,XMPConst.NS_DC, "description").toString();
}
xmp.deleteProperty(XMPConst.NS_DC, "description");
if(xmp.doesPropertyExist(XMPConst.NS_DC, "creator")){
var creator = getArrayItems(xmp,XMPConst.NS_DC, "creator");
desc += "\n" + creator.toString();
}
if(xmp.doesPropertyExist(XMPConst.NS_PHOTOSHOP, "AuthorsPosition")){
var Ap = xmp.getProperty(XMPConst.NS_PHOTOSHOP, "AuthorsPosition");
desc += "\n" + Ap.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrExtadr")){
var Address = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrExtadr");
desc += "\n" + Address.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrCity")){
var City = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrCity");
desc += "\n" + City.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrRegion")){
var State = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrRegion");
desc += "\n" + State.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrPcode")){
var PC = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrPcode");
desc += "\n" + PC.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrCtry")){
var Country = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiAdrCtry");
desc += "\n" + Country.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiTelWork")){
var Tel = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiTelWork");
desc += "\n" + Tel.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiEmailWork")){
var Email = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiEmailWork");
desc += "\n" + Email.toString();
}
if(xmp.doesStructFieldExist(XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiUrlWork")){
var URLs = xmp.getStructField( XMPConst.NS_IPTC_CORE, "CreatorContactInfo",XMPConst.NS_IPTC_CORE, "CiUrlWork");
desc += "\n" + URLs.toString();
}
xmp.setLocalizedText( XMPConst.NS_DC, "description", null, "x-default", desc);
var newPacket = xmp.serialize(XMPConst.SERIALIZE_USE_COMPACT_FORMAT);
selectedFile.metadata = new Metadata(newPacket);
}
};