Assume that for any reason you don't want to/can't write any modifications to the files inside the directory you are working on: how about to add an advanced fix option which allows the user to specify an additional and separate output directory? During the scan/fix, every modification needed is output to the directory you have choosed before, keeping the source untouched.
In this scenario, several option could be implemented as well, like: 1. keep the source intact and write the modifications to the specified directory 2. "move the new/modified/fixed files to the specified directory"
So, when you have a set with many files, it's more confortable to manage and keep all the new/updated/modified/ files inside another folder (maybe even on another drive, if you running out of hdd space, for example...), and the program will keep a track of any modification applied. By this way you can manage update sets with a lot of files more easily with the advanced option to apply those modifications at a later time, merging it with the source folder you was working on at first. This option would be greate for everyone who want keep up to date the collection but can't modify the source dir directly at the time of the scan.