В файловой системе Windows NTFS у меня есть файл (скажем, orig.mp3
). Я открываю этот файл через этот путь orig.mp3
таким образом, чтобы он использовался (скажем, воспроизводя его в VLC).
Затем я создаю жесткую ссылку ( cmd /c mklink /h link.mp3 orig.mp3
). В результате два пути NTFS указывают на один и тот же файл.
Наконец, я снова пытаюсь удалить связанный файл ( del link.mp3
или удалить в проводнике Windows).
Это приводит к ошибке: «Процесс не может получить доступ к файлу, потому что он используется другим процессом».
Почему? И что еще более важно: как я могу избежать этого (кроме того, чтобы убедиться, что ни один процесс не использует исходный файл)? Могу ли я попросить Windows сделать «отложенное удаление», чтобы связанный файл автоматически удалялся, когда оригинал больше не используется?