I have a suggestion for the compression process.
When you make a compression over files with redundancy errors (errors in disk or file) the process stops without finishing. The suggestion is that 7z skips the bad file showing a message and continues with the others ending with a return code indicating that some files haven't been compressed.
This behaviour could be implemented throw a switch.