Photoshop: This script will copy position, bounds, fill and stroke colors of selected Shape layers to clipboard — as I understand that's what you need.
var lyr = "";
var ref = new ActionReference();
ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("targetLayers"));
ref.putEnumerated(charIDToTypeID('Dcmn'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt'));
var targetLayers = executeActionGet(ref).getList(stringIDToTypeID("targetLayers"));
for (var i = 0; i < targetLayers.count; i++)
{
var ref2 = new ActionReference();
try
{
activeDocument.backgroundLayer;
ref2.putIndex(charIDToTypeID('Lyr '), targetLayers.getReference(i).getIndex());
var desc = executeActionGet(ref2);
}
catch (o)
{
ref2.putIndex(charIDToTypeID('Lyr '), targetLayers.getReference(i).getIndex() + 1);
var desc = executeActionGet(ref2);
}
var bounds = desc.getObjectValue(stringIDToTypeID("bounds")),
adjColor = desc.getList(stringIDToTypeID('adjustment')).getObjectValue(0).getObjectValue(stringIDToTypeID('color')),
strokeColor = desc.getObjectValue(stringIDToTypeID('AGMStrokeStyleInfo')).getObjectValue(stringIDToTypeID('strokeStyleContent')).getObjectValue(stringIDToTypeID('color')),
color = new SolidColor(),
colorStroke = new SolidColor();
color.rgb.red = adjColor.getDouble(charIDToTypeID("Rd "))
color.rgb.green = adjColor.getDouble(charIDToTypeID("Grn "))
color.rgb.blue = adjColor.getDouble(charIDToTypeID("Bl "))
colorStroke.rgb.red = strokeColor.getDouble(charIDToTypeID("Rd "))
colorStroke.rgb.green = strokeColor.getDouble(charIDToTypeID("Grn "))
colorStroke.rgb.blue = strokeColor.getDouble(charIDToTypeID("Bl "))
lyr += "\tName: " + desc.getString(charIDToTypeID("Nm "));
lyr += "\ntop: " + bounds.getDouble(stringIDToTypeID("top"));
lyr += "\nright: " + bounds.getDouble(stringIDToTypeID("right"));
lyr += "\nbottom: " + bounds.getDouble(stringIDToTypeID("bottom"));
lyr += "\nleft: " + bounds.getDouble(stringIDToTypeID("left"));
lyr += "\nheight: " + bounds.getDouble(stringIDToTypeID("height"));
lyr += "\nwidth: " + bounds.getDouble(stringIDToTypeID("width"));
lyr += "\nfill RGB: [" + parseInt(color.rgb.red) + ", " + parseInt(color.rgb.green) + ", " + parseInt(color.rgb.blue) + "]";
lyr += "\nfill CMYK: [" + parseInt(color.cmyk.cyan) + ", " + parseInt(color.cmyk.magenta) + ", " + parseInt(color.cmyk.yellow) + ", " + parseInt(color.cmyk.black) + "]";
lyr += "\nstroke RGB: [" + parseInt(colorStroke.rgb.red) + ", " + parseInt(colorStroke.rgb.green) + ", " + parseInt(colorStroke.rgb.blue) + "]";
lyr += "\nstroke CMYK: [" + parseInt(colorStroke.cmyk.cyan) + ", " + parseInt(colorStroke.cmyk.magenta) + ", " + parseInt(colorStroke.cmyk.yellow) + ", " + parseInt(colorStroke.cmyk.black) + "]";
lyr += "\n\n"
}
copyToClipboard(lyr)
function copyToClipboard(txt)
{
var desc = new ActionDescriptor();
desc.putString(charIDToTypeID('TxtD'), txt);
executeAction(app.stringIDToTypeID("textToClipboard"), desc, DialogModes.NO);
};
Input:

Result:
