Я создал файл docx в Windows 7 с некоторым текстом в нем (initial.docx), а затем создал жесткую ссылку на него:
mklink /H new.docx initial.docx
Я открываю new.docx и вижу текст, который я изначально набрал в initial.docx. Теперь я набираю еще текст в new.docx. Вот и проблема: я сохраняю его, и на этом этапе initial.docx скрывается в проводнике Windows. Я открываю initial.docx и вижу, что он не содержит нового текста, который я сохранил в new.docx.
Если вместо изменения new.docx после его создания я изменяю исходный файл и сохраняю его, тогда new.docx скрывается и не содержит изменений.
Кто-нибудь знает обходной путь?
Обратите внимание: если я сделаю то же самое с текстовыми файлами, у меня не возникнет этой проблемы: файлы эффективно связаны, и каждое изменение в одном из них будет видно в другом.
Возможно, это невозможно исправить. Я подозреваю, что это побочный продукт того, как процесс сохранения работает в некоторых программах.
Вместо того, чтобы просто писать поверх вашего существующего файла, они сохранят в новый временный файл, затем немного переименуют и, наконец, удалят оригинал. Это дает вам дополнительную безопасность. Если ваш компьютер выйдет из строя во время сохранения, оригинал все равно должен существовать, и у вас, вероятно, будет новая версия, доступная в виде временного файла, поэтому теоретически вы ничего не потеряете. Для программ, которые просто перезаписывают файл, если во время сохранения произойдет сбой, вы можете потерять все.
Подозреваю, что во время операции сохранения / переименования ваша ссылка удаляется. Я не верю, что с этим можно что-нибудь сделать. Вы видите то же поведение с ACL, установленными явно для файлов.
Я видел много программ, использующих этот тип процедуры сохранения, это не только MS Office.