<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Python script for mass find and replace of workspace path? in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281864#M21738</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also for future reference if you ever need to find out if picture element source image exists, you can use &lt;A href="https://pro.arcgis.com/en/pro-app/arcpy/functions/exists.htm"&gt;arcpy.Exists &lt;/A&gt;to check.&amp;nbsp; I wasn't sure it works on picture elements, but since JPEGs can be used as a layout element or as a dataset in ArcMap, you can.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/308917_SourceImage_Exists.png" style="width: 620px; height: 179px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used the map document you uploaded and it did return False that the source image file wasn't in existence anymore.&amp;nbsp; It would be fairly easy to adjust the code we already worked on to check all picture elements in your map documents for broken links this way, as opposed to broken data links in your map layers.&amp;nbsp; You could have it write to a text file which ones had broken links to picture elements and which map documents they were in and only work on those.&amp;nbsp; I'm mentioning this since I said earlier you couldn't do this with arcpy but you actually can.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Jan 2017 20:00:17 GMT</pubDate>
    <dc:creator>IanMurray</dc:creator>
    <dc:date>2017-01-25T20:00:17Z</dc:date>
    <item>
      <title>Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281843#M21717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi folks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As our research group has run out of space on a network drive, our IT department just moved all of our folders/data to a new network drive.&amp;nbsp; However, in doing this all of the folder structures for the data locations have changed.&amp;nbsp; As a result, none of our project files (e.g., .mxd) are functioning.&amp;nbsp; As we have ~150-200 .mxd project files does anyone know if there is a piece of code which can automatically work through all of the ArcGIS related folders and find and replace the mapped network drive info or the folder structure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found this piece of code, but this only works for a single file.&amp;nbsp; What I would like to be able to do is a batch process to look through all folders/subfolders/files and find and replace the workspace path (Note: we are working with ArcGIS 10.1). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mxd.findAndReplaceWorkspacePaths(r"C:\Project\Data", r"D:\Project\Data")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mxd.saveACopy(r"D:\Project\Project.mxd")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;del mxd&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jan 2013 19:20:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281843#M21717</guid>
      <dc:creator>KevinBladon</dc:creator>
      <dc:date>2013-01-23T19:20:10Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281844#M21718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This might help you,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy, os

path = os.getcwd() # or path = r"C:\Documents"

for fileName in os.listdir(path):
&amp;nbsp;&amp;nbsp;&amp;nbsp; fullPath = os.path.join(path, fileName)
&amp;nbsp;&amp;nbsp;&amp;nbsp; if os.path.isfile(fullPath):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basename, extension = os.path.splitext(fullPath)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if extension == '.mxd':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = arcpy.mapping.MapDocument(fullPath)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.findAndReplaceWorkspacePaths(r"oldfilepath1", r"newfilepath1")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.findAndReplaceWorkspacePaths(r"oldfilepath2", r"newfilepath2")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.save()

del mxd&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi folks,&lt;BR /&gt;&lt;BR /&gt;As our research group has run out of space on a network drive, our IT department just moved all of our folders/data to a new network drive.&amp;nbsp; However, in doing this all of the folder structures for the data locations have changed.&amp;nbsp; As a result, none of our project files (e.g., .mxd) are functioning.&amp;nbsp; As we have ~150-200 .mxd project files does anyone know if there is a piece of code which can automatically work through all of the ArcGIS related folders and find and replace the mapped network drive info or the folder structure.&lt;BR /&gt;&lt;BR /&gt;I found this piece of code, but this only works for a single file.&amp;nbsp; What I would like to be able to do is a batch process to look through all folders/subfolders/files and find and replace the workspace path (Note: we are working with ArcGIS 10.1). &lt;BR /&gt;&lt;BR /&gt;import arcpy&lt;BR /&gt;mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")&lt;BR /&gt;mxd.findAndReplaceWorkspacePaths(r"C:\Project\Data", r"D:\Project\Data")&lt;BR /&gt;mxd.saveACopy(r"D:\Project\Project.mxd")&lt;BR /&gt;del mxd&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281844#M21718</guid>
      <dc:creator>ChrisPedrezuela</dc:creator>
      <dc:date>2021-12-11T13:39:30Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281845#M21719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tweaked a bit to walk through subfolders.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import os,fnmatch,arcpy
def find(pattern, path=os.getcwd()):
&amp;nbsp;&amp;nbsp;&amp;nbsp; for path, dirs, files in os.walk(path):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for filename in files:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fnmatch.fnmatch(filename, pattern):yield os.path.abspath(os.path.join(path, filename))
&amp;nbsp;&amp;nbsp; 
for f in find('*.mxd', 'C:/Data'):&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = arcpy.mapping.MapDocument(f)
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.findAndReplaceWorkspacePaths(r"oldfilepath1", r"newfilepath1")
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.findAndReplaceWorkspacePaths(r"oldfilepath2", r"newfilepath2")
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.save()
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281845#M21719</guid>
      <dc:creator>Luke_Pinner</dc:creator>
      <dc:date>2021-12-11T13:39:33Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281846#M21720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This script should work to list folders in a workspace then list .mxd documents in those folders.&amp;nbsp; Then you can update the sources using arcpy.mapping.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH=CONFIG]21457[/ATTACH]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 17:04:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281846#M21720</guid>
      <dc:creator>CarrieDavis</dc:creator>
      <dc:date>2013-02-05T17:04:23Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281847#M21721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Kevin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was just curious if either of these answers worked for you. I am about to be in the same boat, with somewhere near a thousand MXD's. I'm going to have to put something together over the next couple of days.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Kevin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Josh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jul 2015 17:10:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281847#M21721</guid>
      <dc:creator>JoshJones4</dc:creator>
      <dc:date>2015-07-29T17:10:43Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281848#M21722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This addin/toolbar (for ArcCatalog) is still in my final developement.....but I'm getting close to getting my addin that will do several things, including listing all your broken links, and then give the option to update.&amp;nbsp; I'll attache the documentation, which is all over the place as far as instructions, and the addin, which has been tested in 10.3.x (but should work in 10.2).&amp;nbsp; Instruction for loading (from an email I sent to test staff earlier this morning)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;Save the ChkandFixLinks.esriaddin file to anywhere handy.&amp;nbsp; Double click, it will ask if you want to install…click Install Add-in.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; &lt;IMG alt="pic1.jpg" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/119777_pic1.jpg" style="height: auto;" /&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;Then open or reopen ArcCatalog.&amp;nbsp; If you don’t see the toolbar, or not sure, go to Customize (on top menu bar)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;Click on that and you will see Toolbars&amp;gt;&amp;nbsp;&amp;nbsp; …hover to the right and make sure the toolbar is checked.&amp;nbsp; If you don’t see it, click it off/on until you see where it is. &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;&lt;IMG alt="pic2.jpg" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/119778_pic2.jpg" style="height: auto;" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;Click on the third icon over (for the one that will give a unique list of all broken links in a folder)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;&lt;IMG alt="pic3.png" class="image-3 jive-image" src="https://community.esri.com/legacyfs/online/119779_pic3.png" style="height: auto;" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;In the dialog box, use the folder icon and then navigate to the folder where all you mxd’s are located (it will go thru (walk) all the subfolders underneath too) and leave the other two as they are&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #1f497d;"&gt;Then click ok, and it will run.&amp;nbsp; When completed, it will have created a couple files…they are the same, just one is and Excel file, and the other is comma delimited….I suggest opening the Excel (.xls) file to review.&amp;nbsp; They will be called BrokenSrc with the date/time it was run.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry this is pretty messy....when it's completed with the additional scripts, I will post (probably to ArcScripts 2.0).&amp;nbsp; The 4th icon over will do a bulk change from drive-&amp;gt;drive or drive-&amp;gt;UNC&amp;nbsp;&amp;nbsp;&amp;nbsp; look at the Samples folder (if you unzip the esriaddin ("after installing) and there is a samples folder for format.&amp;nbsp; After the bulk updates, it will run a new unique list.&amp;nbsp; The next script which is almost complete, will allow for changing longer paths, shapes or coverages to FGDB, etc.&amp;nbsp;&amp;nbsp;&amp;nbsp; Feedback is welcome and appreciated (especially if it doesn't work at all for you).&amp;nbsp; BTW - the first three tools don't change anything, just create lists/reports so you can see what you need to fix....i.e. other than createing .txt, .xls, and .csv files (all with unique name_date_time for file name, they can not do any damage (but you must have write access to the folder you are analyzing. (although setting the path might work (haven't tested).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope these tools help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Jul 2015 21:08:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281848#M21722</guid>
      <dc:creator>RebeccaStrauch__GISP</dc:creator>
      <dc:date>2015-07-29T21:08:26Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281849#M21723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@Rebecca&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a great addin. I just tried it and It works fine for listing broken source data. But, my problem is, I need to list broken picture elements. That's something it didn't do?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been trying to use this code (below) from Esri.&amp;nbsp;But, it's not working due to the fact, I think, that the mxd it's referencing is missing the pictures (our file directory was recently changed, so the picture path is broken). It runs with no errror and &lt;STRONG&gt;1st_District_B3.mxd&lt;/STRONG&gt; is saved in the folder, but no changes are made.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy

mxd &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MapDocument&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;r&lt;SPAN class="string token"&gt;'R:\AtlasMaps\ATLAS_MAPS_17\New folder\1st_District_B2.mxd'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; elm &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ListLayoutElements&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mxd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"GRAPHIC_ELEMENT"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*logo*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; elm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'County-logo-1x1Small'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'P:\Images\County-logo.JPG'&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'{} changed'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;elm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
mxd&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;saveACopy&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;r&lt;SPAN class="string token"&gt;'R:\AtlasMaps\ATLAS_MAPS_17\New folder\1st_District_B3.mxd'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; mxd‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below's a printscn of the document with the broken picture element source. It's giving you the path where the JPEG once lived. It's now in the P:\Images folder.&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="308204" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/308204_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;P&gt;Are you aware of a way to list and repair broken source picture elements?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281849#M21723</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2021-12-11T13:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281850#M21724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I haven't tried to test for graphic elements, but I can take a look at this later (probably not until later this week).&amp;nbsp; I know I have a few more types of broken links I wanted to test for, but have moved off of that project for the time being, and since it does about 98%.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I may have a newer version and better description of my addin on this page, fwiw.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/blogs/myAlaskaGIS/2015/08/31/python-addin-for-data-inventory-and-broken-link-repair"&gt;/blogs/myAlaskaGIS/2015/08/31/python-addin-for-data-inventory-and-broken-link-repair&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you zip you mxd and attach it?&amp;nbsp; all items will be broken of course for me, but it will give me something to test.&amp;nbsp; Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 17:30:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281850#M21724</guid>
      <dc:creator>RebeccaStrauch__GISP</dc:creator>
      <dc:date>2017-01-24T17:30:53Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281851#M21725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jared,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you open you map and check to make sure your picture element is still named?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/308224_Picture_Element_NameProperty.png" style="height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively, instead of checking against the name property of the picture element, you could always check against the current imageSource property is "" &lt;A href="https://community.esri.com/"&gt;&lt;SPAN style="color: #0066cc; text-decoration: underline;"&gt;\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG"&lt;/SPAN&gt;&lt;/A&gt; and if so then change to r&lt;SPAN&gt;'P:\Images\County-logo.JPG'.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Unfortunately there is no method in arcpy for checking if Picture Elements to see if the link is no longer valid.&amp;nbsp; There is probably some python module somewhere that could do this and could be used in conjunction with arcpy to check and update picture element paths&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 17:37:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281851#M21725</guid>
      <dc:creator>IanMurray</dc:creator>
      <dc:date>2017-01-24T17:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281852#M21726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.willcogis.org/website2014/gis/Data/1st_District_B2.zip"&gt;http://www.willcogis.org/website2014/gis/Data/1st_District_B2.zip&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's a link to the mxd. Thanks for taking a look.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked your page and downloaded the newer version you had there. I ran it again and pictures (.JPG in my case) are still not included in the list of broken sources. You have 'raster.jpg' included in the valid extension list, but this is apparently different than a picture element (.JPG).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 19:11:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281852#M21726</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2017-01-24T19:11:07Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281853#M21727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks. Basically, all my map documents have a broken link now for that picture element. Since the directory was changed,&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #0066cc; border: 0px; font-weight: inherit; text-decoration: underline;"&gt;&lt;A _jive_internal="true" href="https://community.esri.com/thread/66907?commentID=661290" style="color: #287433; background-color: #ffffff; border: 0px;"&gt;\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG"&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;is a dead path. As you said, I could update the path manually, but it's too time consuming.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If and when I find a method to fix broken picture links and then repair them I'll post it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 19:29:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281853#M21727</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2017-01-24T19:29:44Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281854#M21728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is the path for all the broken pictures the one you noted above?&amp;nbsp; It would be fairly easy to have a script walk through all the map documents in a directory and replace all the picture elements with that specific path with a new path.&lt;BR /&gt;&lt;BR /&gt;Also I noted something fairly interesting, when a link is working to an picture element, the element name is just the name of the image itself without the file extension, whereas when I opened your map with broken links, the name was now the filepath to where the image was, instead of just the file name.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 19:35:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281854#M21728</guid>
      <dc:creator>IanMurray</dc:creator>
      <dc:date>2017-01-24T19:35:48Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281855#M21729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes.&lt;/P&gt;&lt;P&gt;Not working/old path: &amp;nbsp; &amp;nbsp; \\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG&lt;/P&gt;&lt;P&gt;Working/new path: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P:\Images\County-logo.JPG&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I thought it wouldn't be bad either? The script I posted above, and again here, seems nice. But it doesn't want to work in a case where the path is broken. So, line 3 is calling the mxd I zipped above. And, as noted, because of the broken path, the pictures aren't in the mxd. That's why I think this script isn't working. In other words, I think the pictures have to be there for the script to work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Description: find a picture element using a wildcard and then change the picture's data source&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy

mxd &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MapDocument&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;r&lt;SPAN class="string token"&gt;'R:\AtlasMaps\ATLAS_MAPS_17\New folder\1st_District_B2.mxd'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; elm &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ListLayoutElements&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mxd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"GRAPHIC_ELEMENT"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*logo*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; elm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'County-logo-1x1Small'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'P:\Images\County-logo.JPG'&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'{} changed'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;elm&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
mxd&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;saveACopy&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;r&lt;SPAN class="string token"&gt;'R:\AtlasMaps\ATLAS_MAPS_17\New folder\1st_District_B3.mxd'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; mxd‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Taken from here:&amp;nbsp;&lt;A class="link-titled" href="http://desktop.arcgis.com/en/arcmap/10.3/analyze/arcpy-mapping/listlayoutelements.htm" title="http://desktop.arcgis.com/en/arcmap/10.3/analyze/arcpy-mapping/listlayoutelements.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;ListLayoutElements—Help | ArcGIS for Desktop&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hm, that is interesting. I'll keep that in mind.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281855#M21729</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2021-12-11T13:39:38Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281856#M21730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The reason your script wasn't changing anything was because as I noted above the image name was no longer just the file name of the picture, but the full path to the picture.&amp;nbsp; I used the python window in the map document and managed to change your picture element to a site plan jpg on my desktop.&amp;nbsp; Your code would have worked fine, but since the elm.name wasn't what you thought it was, it actually didn't change anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="308289" alt="" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/308289_Picture_Element_Change.png" style="width: 620px; height: 414px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If that is the particular path you need to replace on all your mxds, here is some starter script to get you going on editting them all.&amp;nbsp; This should walk through all the .mxd files in a workspace and any .mxds in any&amp;nbsp;folders within that workspace, check for picture elements with the broken file name and fix to your new image.&amp;nbsp; I would take 2 or 3 map documents into a separate folder to test this.&amp;nbsp; Only thing you need to do is change the workspace to the folder where the map documents are.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; arcpy &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; env

&lt;SPAN class="comment token"&gt;#Change to Directory with you map documents, &lt;/SPAN&gt;
env&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;workspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"YourDirectoryHere"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#Recursively walking workspace&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; root&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dirs&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; files &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;walk&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;env&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; f &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; files&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;endswith&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;".mxd"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mxd &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MapDocument&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;root &lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Current map being checked is "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; mxd&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filepath
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; elem &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ListLayoutElements&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mxd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"PICTURE_ELEMENT"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*logo"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"P:\Images\County-logo.JPG"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; elem
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; mxd&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281856#M21730</guid>
      <dc:creator>IanMurray</dc:creator>
      <dc:date>2021-12-11T13:39:41Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281857#M21731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That looks great. But, it's giving me an error. Also, i'm curious why your line 13 is indented? That was giving me an error before i dedented.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/308331_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 21:34:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281857#M21731</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2017-01-24T21:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281858#M21732</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;apologies, it should be filePath, not filepath.&amp;nbsp; I didn't test it, just cobbled it together from the python interpreter and some old code I had to check for broken data links.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I added the print statements so you knew what was going on with the program.&amp;nbsp; They are also a great way to see what values are actually being used in python and make sure they are doing what you want.&amp;nbsp; Thats how I figured out your elm.name value earlier wasn't the right one for your code to work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure about line 13, whitespace can be annoying to work with, especially when cutting/pasting code, like I said I cobbled it together quickly.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 21:50:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281858#M21732</guid>
      <dc:creator>IanMurray</dc:creator>
      <dc:date>2017-01-24T21:50:26Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281859#M21733</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, thanks. I fixed 'mxd.filePath'. The script ran with no errors and printed out "Current map being checked is..." for all the documents in the workspace, but with no results.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Above in your test script you used &lt;SPAN style="background-color: #ffffff;"&gt;&lt;STRONG&gt;\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG&lt;/STRONG&gt;&lt;/SPAN&gt; as your elem.name path and it worked. Does this mean it doesn't have to be a working file path? Of course, since that's a path to our directory here you can't access it. But, at the same time the Jackson network was discontinued a few days ago (hence the broken links). Or is the script recognizing that file path as the element name?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the message from Windows when I search for it:&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="308782" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/308782_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I'm wondering if that's causing a problem in my script?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Besides that I set the workspace to a working folder. And I used the whole path, as you did, for the elem.name:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; os
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; arcpy &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; env

&lt;SPAN class="comment token"&gt;# change to directory with your map documents&lt;/SPAN&gt;
env&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;workspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'R:\AtlasMaps\ATLAS_MAPS_17\New folder'&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# recursively walking workspace&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; root&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dirs&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; files &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;walk&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;env&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; f &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; files&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;endswith&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;".mxd"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MapDocument&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;root &lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Current map being checked is "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; mxd&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filePath
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; elem &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ListLayoutElements&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mxd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"PICTURE_ELEMENT"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*logo"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"P:\Images\County-logo.JPG"&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; elem
&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; mxd‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281859#M21733</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2021-12-11T13:39:44Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281860#M21734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The filepath doesn't have to exist, it just had to be the value of the element name in the map drawing.&amp;nbsp; If you looked at the image I posted earlier using the mxd you posted, I used print statements to determine what the actual name of the picture element was in the map drawing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image j-img-original" height="900" src="https://community.esri.com/legacyfs/online/308830_Picture_Element_Change.png" style="width: 620px; height: 414px;" width="1349" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also I noticed another bug that might be causing the issue, &lt;SPAN&gt;line 13 needs an asterisk on the other side of logo, so it should be:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;for elem &lt;SPAN&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN&gt;.&lt;/SPAN&gt;mapping&lt;SPAN&gt;.&lt;/SPAN&gt;ListLayoutElements&lt;SPAN&gt;(&lt;/SPAN&gt;mxd&lt;SPAN&gt;,&lt;/SPAN&gt; &lt;SPAN&gt;"PICTURE_ELEMENT"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt; &lt;SPAN&gt;"*logo*"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;If it doesn't have a wildcard on both sides, it might not be pulling any picture elements at all, so it has no elements to even check(Since *logo would only find names ending with logo, instead of *logo* which looks to find names that contain the character string logo).&amp;nbsp; If that doesn't work, could you add a few print statements(even if it does work it helps show what is going on).&amp;nbsp; After line 13, could you add:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt; print "current element name is " + elem.name; print "current element source is " + elem.sourceImage&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;(same indent as line 14 currently).&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;Then after the current line 15 add: &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;print "new element source is " + elem.sourceImage &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;(same indent as&amp;nbsp; line 15 currently)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2017 17:34:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281860#M21734</guid>
      <dc:creator>IanMurray</dc:creator>
      <dc:date>2017-01-25T17:34:39Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281861#M21735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Alright, great. At some point during testing I did try the asterisk on both sides of logo.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I added the print statements and the asterisk. It ran with no errors, but no results to the map document again. I double checked and both instances of the JPG in the maps of the workspace are exactly:&amp;nbsp;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; os
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; arcpy &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; env

&lt;SPAN class="comment token"&gt;# change to directory with your map documents&lt;/SPAN&gt;
env&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;workspace &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'R:\AtlasMaps\ATLAS_MAPS_17\New folder'&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# recursively walking workspace&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; root&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dirs&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; files&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;walk&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;env&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;workspace&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; f &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; files&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;endswith&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;".mxd"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MapDocument&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;root&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; f&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"current map being checked is "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; mxd&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filePath
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; elem &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mapping&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ListLayoutElements&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mxd&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"PICTURE_ELEMENT"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"*logo*"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"current element name is "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;#\\Jackson\gis_dept\Data\Images\County-logo-1x1Small.JPG&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"P:\Images\County-logo-1x1Small.JPG"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"new element source is "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; elem&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sourceImage

&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; elem
&lt;SPAN class="keyword token"&gt;del&lt;/SPAN&gt; mxd&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/308903_pastedImage_3.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm going to try with some different maps that have the have the same broken link to Jackson.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:39:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281861#M21735</guid>
      <dc:creator>JaredPilbeam1</dc:creator>
      <dc:date>2021-12-11T13:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: Python script for mass find and replace of workspace path?</title>
      <link>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281862#M21736</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Okay, so I'm a bit of an idiot, I didn't bother to have the script actually save the map after the changes were made.&amp;nbsp; According to the the print statements the script is changing the source of your image, which is what we wanted, but the map document is not being saved with the changes.&amp;nbsp; Since I originally did this in ArcMap python window, I didn't need to save the map, I just refreshed the view to fix the changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just add mxd.save() to line 18 with the same indent as line 11 and that should save the changes......&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2017 19:36:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-script-for-mass-find-and-replace-of/m-p/281862#M21736</guid>
      <dc:creator>IanMurray</dc:creator>
      <dc:date>2017-01-25T19:36:47Z</dc:date>
    </item>
  </channel>
</rss>

