Auf einem Windows NTFS-Dateisystem habe ich eine Datei (z. B. orig.mp3
). Ich öffne diese Datei über diesen Pfad orig.mp3
so, dass sie verwendet wird (z. B. durch Abspielen in VLC).
Dann erstelle ich einen harten Link ( cmd /c mklink /h link.mp3 orig.mp3
). Dies führt dazu, dass zwei NTFS-Pfade auf genau dieselbe Datei verweisen.
Schließlich versuche ich, die verknüpfte Datei erneut zu löschen ( del link.mp3
oder im Windows Explorer zu löschen).
Dies schlägt mit einem Fehler fehl: "Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird."
Warum? Und was noch wichtiger ist: Wie kann ich dies vermeiden (abgesehen davon, dass in keinem Prozess die Originaldatei verwendet wird)? Kann ich Windows möglicherweise anweisen, einen verzögerten Löschvorgang durchzuführen, damit die verknüpfte Datei automatisch gelöscht wird, wenn das Original nicht mehr verwendet wird?