赞
踩
代码:
- #coding:gbk
- #author:yangyong
- #会报错,不过不影响正常使用
- import arcpy,os,re
- import arcpy.mapping as mapping
-
- import sys
- reload(sys)
- sys.setdefaultencoding("utf-8")
-
- inputMxdPath = arcpy.GetParameterAsText(0) #floder eg:O:\arcgis_directory\MXD\RHYXT
- outputMxdPath = arcpy.GetParameterAsText(1) #floader eg:eg:O:\arcgis_directory\MXD\RHYXT\print
- fromLayer = arcpy.GetParameterAsText(2) #string eg: C:\yy.lyr
- toLayer = arcpy.GetParameterAsText(3) #string eg:XZQ
- sourceLayer = arcpy.mapping.Layer(r"%s"%fromLayer)
-
- for root,dirs,names in os.walk(r"%s"%inputMxdPath):
- for name in names:
- if name[-4:].lower() == ".mxd":
- mxd = mapping.MapDocument(r"%s"%os.path.join(root,name))
- df = mapping.ListDataFrames(mxd,"")[0]
- lyr = arcpy.mapping.ListLayers(mxd,toLayer,df)[0]
- arcpy.mapping.UpdateLayer(df,lyr,sourceLayer,True)
- newName = os.path.join(outputMxdPath,name)
- mxd.saveACopy(r"%s"%newName)
- arcpy.AddMessage("%s 另存为 成功"%name)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。