Редагування жорсткого посилання не редагує вихідний файл


2

У мене є файл D:\JavaScript\CheckIban.js, і я хочу його повторно використовувати в багатьох місцях, не дублюючи його. Тому що, коли я виправляю помилку (змінюю її вміст), мені потрібно, щоб ці зміни були розповсюджені на всі файли. Використовуючи посилання, мій план полягає в тому, щоб змінити один екземпляр жорстких посилань і очікувати автоматичного оновлення інших примірників.

Тепер скажімо, що я створив жорстке посилання на цей файл, використовуючи:

mklink /H D:\Projects\Crm\Site\Scripts\CheckIban.js D:\JavaScript\CheckIban.js

і я отримую повідомлення про успіх, що жорстке посилання створено для ...

Однак, коли я відкриваю кожен файл і змінюю його, зміст іншого файлу не змінюється. Що я тут сумую?

Примітки. Я не можу використовувати м'які посилання, оскільки я використовую програму (TFS), яка не підтримує роботу з м'якими посиланнями.


Використовуйте fsutil hardlink list D:\JavaScript\CheckIban.jsдля перевірки того, що жорстке посилання все ще існує.
Chirag Bhatia - chirag64

@ Chirag64, я запустив цю команду і в списку потрапив лише сам файл. Що може бути не так?
Саїд Неаматі

Команда правильна, ви впевнені, що вибрана вами папка є правильною? Немає нічого дивного в цільовій папці? Файл вже не існує в цільовому місці? Випуск дозволів? Ви спробували запустити команду з адмініструючого cmd?
Джуліан Найт

1
Насправді ціль - це не папка, а файл. І так, я все зробив правильно. Файлу не існує (я це роблю вручну та видаляю перед відтворенням), жодних дозволів немає, тому що я адміністратор і cmd запускається з дозволу адміністратора, інакше mklink видасть помилку.
Саїд Неаматі

@SaeedNeamati Ви коли-небудь це з'ясовували? У мене таке ж дурне питання ...
Нік Спрітцер

Відповіді:


2

Існує різниця між зміною файла і заміною . Згідно з цією сторінкою Microsoft на жорстких посиланнях та з'єднаннях , "Будь-які зміни цього файлу миттєво видно програмам, які отримують доступ до нього через жорсткі посилання, на які посилаються". Однак врахуйте, що відбувається при заміні файлу: файлова система видаляє файл (в цьому випадку жорстке посилання), а потім записує новий файл з тим же шляхом та назвою файлу, що і попереднє тверде посилання.

Отже, це залежить від того, як програма, яку ви використовуєте для зміни файлу, записує у файлову систему, коли вона оновлює файл.

Дивіться також Які операції порушують жорсткі посилання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.