I run the attached python script (which was obtained online) to give me a report on the content of every MXD in a folder. It does about 30 MXDs and quits so I broke the MXDs up into chunks and put them into folders and ran the script in batch mode. Got them to work, did one, two, three, four but it failed on the fifth. I restarted the PC and checked the files it is referencing, seems fine. Run it again and it fails. I am just wondering with something like this where its creating a txt file, could there be a location on the PC (in memory etc) that is "full" and I need to manually clear out on occasion? I ran CCleaner and did another restart but that didn't work. Thanks!
I haven't looked at the script, but my guess is there is something in that fifth set. Can you tell what MXD it is crashing on? If you can narrow it down to the mxd, you can look at the content to see what it different with this vs another. I'm having to fix many mxd's with broken links due to shifting of servers/data/drives. When workin on getting my inventory of broken links, I had to make special case checks for grouped layers, ArcSDE, various graphics, etc.
If you want to see my python addin Python addin for data inventory and “broken-link” repair. Using any of the 3 buttons before the yield only writes out report files in various formats, that is the mxd is not changed in any way. The yield button is just a "make sure you have things setup or in a test setting" before running the fix broken link script. But, even that one won't do anything if you haven't modified the .csv file to feed into it.
Feel free to just unzip it and view the scripts if that will help.
Aaron, The error checking on these scripts almost have to be as many lines of Python as the script was originally. I was amazed at how many instances that my script would find when working through the file share that would cause it to bail. Special characters that have been used for the display name, names of extra data frames, size of the mxd, number of layers in an MXD, etc, etc. I incorporated a BadMXD folder and had it copy all MXDs that if failed on to it for further review. I also generated an almost verbose log file so, I could review at what point it bailed on the MXD it was crawling and moved to the next.