К сожалению, быть по-настоящему «атомным» на самом деле невозможно. Мой лучший совет - заключить для этого собственную форму транзакции, чтобы вы могли хотя бы отменить изменения.
Я бы сделал что-то вроде проверки для каждого файла - если он не существует, киньте.
Сделайте резервную копию каждого файла, сохраните состояние, необходимое для отмены, или сохраните копию в памяти, если они не велики. Если не можешь, брось.
Внесите изменения, затем сохраните файлы. Если у вас возникла ошибка, попробуйте выполнить восстановление из каждой резервной копии. Вам нужно будет выполнить некоторую обработку ошибок, чтобы не выкидывать, пока не будут восстановлены все резервные копии. После восстановления бросьте свое исключение.
По крайней мере, таким образом, вы, скорее всего, не будете вносить изменения только в один файл. Надеемся, что если вы сможете изменить один файл, вы сможете восстановить его из резервной копии или отменить изменения.