ThisPhotoshop script example will extract the filename and description to a csv file on the desktop, no files are opened.
It will prompt for the folder and extract details for jpg, psd or tif files.
#target photoshop;
app.bringToFront();
var inputFolder= Folder.selectDialog ("Please select folder to process");
if( inputFolder != null){
var fileList = inputFolder.getFiles(/\.(jpg|tif|psd)$/i);
var file = new File(Folder.desktop + "/Description info.csv");
file.open("e");
file.seek(0,2);
for(var a in fileList){
file.writeln( decodeURI(fileList.name)+ "," + getDescription(fileList));
}
file.close();
alert("Folder completed");
}
function getDescription(file){
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
var xmpFile = new XMPFile( file.fsName, XMPConst.UNKNOWN, XMPConst.OPEN_FOR_READ);
var xmp = xmpFile.getXMP();
return getArrayItems(xmp,XMPConst.NS_DC, "description");
}
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);}
};