>>> import arcpy
... mxd = arcpy.mapping.MapDocument(r"P:\filepath_of_my_map_document.mxd")
... mxd.findAndReplaceWorkspacePaths("C:\Users\MyUsername\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog\old server.sde", r"C:\Users\MyUsername\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog\new server.sde")
... mxd.saveACopy(r"P:\filepath_of_my_map_document.mxd2.mxd")
... del mxd
Hello,
Try following python script :
import arcpy, os, string
#starting folder location where old mxds reside
path = r"D:\Map Documents" #CHANGE TO FOLDER DIRECTORY TO MXDS
#Path to log file
text = r"D:\Map Documents\textfile\errorlogs.txt" #CHANGE TO ANY DIRECTORY TO WRITE A LOGGING TEXT FILE
mxdtext = r"D:\Map Documents\textfile\mxdlogs.txt" #CHANGE TO ANY DIRECTORY TO WRITE A LOGGING TEXT FILE
outLog = open(text, "w")
mxdLog = open(mxdtext, "w")
#Path to output data
mxd_dir = r"D:\Map Documents\new mapdocument" #CHANGE TO NEW FOLDER FOR NEW RESOURCED MXDS
for root, dirs, files in os.walk(path):
for name in files:
if name.endswith(".mxd"):
mxd_name = name
fullpath = os.path.join(root,name)
print "Evaluating {0}".format(fullpath)
mxd = arcpy.mapping.MapDocument(fullpath)
newSdePath = r"C:\Users\anjalido\AppData\Roaming\ESRI\Desktop10.2\ArcCatalog\abc_sde.sde"
oldpath = ""
try:
mxd.replaceWorkspaces(oldpath, "NONE", newSdePath, "SDE_WORKSPACE")
print "Replaced"
except:
outLog.write("Errors: " + str(arcpy.AddError(arcpy.GetMessages(1))))
outLog.write("\n")
outLog.write("Errors: " + str(arcpy.AddError(arcpy.GetMessages(2))))
outLog.write("\n")
outLog.write("Errors: " + str(arcpy.AddError(arcpy.GetMessages(3))))
outLog.write("\n")
#mxd.save()
mxd.saveACopy(mxd_dir + os.sep + mxd_name)
print "Saved mxd: {0}".format(mxd_name)
mxdLog.write("Saved: {0}".format(str(mxd_name)))
mxdLog.write("\n")
outLog.close()
mxdLog.close()
Hope this helps!
What error did you get, if any?