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