जैसा कि @Paul & @PolyGeo ने सुझाव दिया, मुझे लगता है कि इसे पायथन ऐड-इन बनाने की कोशिश सबसे अधिक मायने रखती है, और मैं बाद में उस विचार को आगे बढ़ाऊंगा।
इस बीच, मैंने एक साथ एक कोड रखा जो फ़ीचर काउंट्स के साथ MXD में यूज़र-डिफ़ाइंड लेयर्स के TOC नाम को जोड़ / अपडेट करेगा। अपने उद्देश्यों के लिए, मैंने इसे एक जीपी उपकरण के रूप में बनाया है जो एक बहुस्तरीय इनपुट के माध्यम से व्यक्तिगत परतों को स्वीकार करेगा जो स्क्रिप्ट टूल में "परतें" को स्वीकार करता है। यह मुझे कई परतों को "ऑन-डिमांड" अपडेट करने की अनुमति देता है, बस ब्याज की उन परतों के फीचर काउंट को अपडेट करता है।
मैं यह चलाने के लिए स्वचालित रूप से एक तरीका नहीं आया हूं, हालांकि पुराने MXD के कुछ परीक्षण करने में, यह भी वांछनीय नहीं हो सकता है। यदि आपके पास बहुत सारी विशेषताओं के साथ बहुत सी परतें हैं, तो यह एक धीमी प्रक्रिया हो सकती है।
import arcpy
LayerInput = arcpy.GetParameterAsText(0)
mxd = arcpy.mapping.MapDocument("CURRENT")
for lyr in arcpy.mapping.ListLayers(mxd):
#Skip over group layers, as they have no values to count
if lyr.isGroupLayer:
continue
#Determine basename of the layer, without the feature count
name = str(lyr.name)
#Determine if the layer is in the user-defined list
if name not in LayerInput:
continue
#Determine if the layer name already includes a COUNT
if "[" in name and "]" in name:
lpos = name.find("[")
basename = name[:lpos-1]
else:
basename = name
print " Updating feature count in TOC name for layer: " + str(basename)
arcpy.AddMessage(" Updating feature count in TOC name for layer: " + str(basename) )
# In 10.1, you may be able to use arcpy.da.SearchCursor to increase the speed.
#http://gis.stackexchange.com/questions/30140/fastest-way-to-count-the-number-of-features-in-a-feature-class
#fcount = 0
#cursor = arcpy.SearchCursor(lyr)
#for row in cursor:
# fcount += 1
#del cursor
#Get the feature count
fcount = int(arcpy.GetCount_management(lyr).getOutput(0))
#Update the lyr.name property
lyr.name = basename + " [n=" + str(fcount) + "]"
del fcount
arcpy.RefreshTOC()
#Garbage collection
del mxd