Этот заслуживающий доверия пост группы новостей, а также ответ Тони Ли указывают, что для большинства приложений перезапись "сохранить как" - это то же самое, что и удаление, за которым следует создание нового, что касается файловой системы. Я могу поддержать это обобщение, потому что, как программист, это имеет смысл. Если бы я реализовывал функцию "Сохранить как", то нет смысла использовать открываемый файл для вызова API перезаписи, так как этот путь к коду будет использоваться только в редких случаях перезаписи. Программист гораздо чаще использует вызов файла create-new с быстрым вызовом fileDelete в тех редких случаях, когда это необходимо.
Тем не менее, нет точного способа узнать, как программатор перезаписывающего приложения решал иметь дело с существующим файлом, если только вы не можете их спросить или проследить поведение файловой системы приложения с помощью такого инструмента, как FileMon или Process Monitor.
В среднем, я предполагаю, что вероятность восстановления файла, который был "перезаписан" приложением, лишь немного ниже, чем у любого другого файла, который был удален с последующей записью на диск.
Само собой разумеется, что восстановление NTFS не очень надежная стратегия восстановления. Если это может повториться, загляните в какую-нибудь систему контроля версий, чтобы дополнить вашу ежедневную резервную стратегию. К сожалению, автоматическое управление версиями файлов, которое раньше было стандартной функцией в некоторых операционных системах, таких как VMS и Netware, больше не является распространенной функцией на массовом рынке.