import arcpy, os, glob mxds_path = r'S:\\Users Shared\\LOpperman\\Town Scale MXDs\\MXDs\\targetlayers\\' layer_name = r'dams' data_frame = r'Primary' for infile in glob.glob(os.path.join( mxds_path, "*.mxd" )): mxd = arcpy.mapping.MapDocument(infile) for df in arcpy.mapping.ListDataFrames(mxd, data_frame): for lyr in arcpy.mapping.ListLayers(mxd, "", df): lyr.replaceDataSource("dams") mxd.save()
Solved! Go to Solution.
import arcpy, os, glob mxds_path = r'\\someServer\someRoot' workspace = r'\\someServer\data\fileGeodata\test.gdb' # initializing empty list var to hold set of mxd pathnames mxds = [] for dirpath, dirnames, filenames in os.walk(mxds_path): mxds = glob.glob(os.path.join(dirpath, '*.mxd')) #loads list at dirpath level for each_mxd in mxds: mxd = arcpy.mapping.MapDocument(each_mxd) for df in arcpy.mapping.ListDataFrames(mxd, "Layers"): for lyr in arcpy.mapping.ListLayers(mxd, "parcels", df): lyr.replaceDataSource(workspace, "FILEGDB_WORKSPACE", "parcels_improved") mxd.save() mxds = [] # reinitializes list for next dirpath level
for root, dirs, files in os.walk(inDir): for name in files: if name.endswith(".mxd"): mxd = arcpy.mapping.MapDocument(os.path.join(root, name)) #continue code here
for root, dirs, files in os.walk(inDir): for each_mxd in glob.glob(os.path.join(root, '*.mxd')): mxd = arcpy.mapping.MapDocument(each_mxd) #continue code here
import os inDir = r"C:\Shared" for root, dirs, files in os.walk(inDir): for name in files: if name.endswith(".mxd"):
import arcpy, os, glob mxds_path = r'\\someServer\someRoot' workspace = r'\\someServer\data\fileGeodata\test.gdb' # initializing empty list var to hold set of mxd pathnames mxds = [] for dirpath, dirnames, filenames in os.walk(mxds_path): mxds = glob.glob(os.path.join(dirpath, '*.mxd')) #loads list at dirpath level for each_mxd in mxds: mxd = arcpy.mapping.MapDocument(each_mxd) for df in arcpy.mapping.ListDataFrames(mxd, "Layers"): for lyr in arcpy.mapping.ListLayers(mxd, "parcels", df): lyr.replaceDataSource(workspace, "FILEGDB_WORKSPACE", "parcels_improved") mxd.save() mxds = [] # reinitializes list for next dirpath level
for root, dirs, files in os.walk(inDir): for name in files: if name.endswith(".mxd"): mxd = arcpy.mapping.MapDocument(os.path.join(root, name)) #continue code here
for root, dirs, files in os.walk(inDir): for each_mxd in glob.glob(os.path.join(root, '*.mxd')): mxd = arcpy.mapping.MapDocument(each_mxd) #continue code here