如何更改现有符号链接的目标。任何解决方案都可以工作:控制台、powershell 等。
重要的想法是原子地进行此更改,因此删除链接然后创建新链接的解决方案对我不起作用。
如何更改现有符号链接的目标。任何解决方案都可以工作:控制台、powershell 等。
重要的想法是原子地进行此更改,因此删除链接然后创建新链接的解决方案对我不起作用。
您可以使用事务性 NTFS。请参阅以下功能:
缺点是 MS 正在弃用对事务的支持。特别是在 Windows Server 2012 中引入的新文件系统中不提供事务。
使用控制代码的ZwFsControlFile
功能似乎可以做到这一点。至少这是我从 Far Manager 如何通过 Process Monitor 收集到的。FSCTL_SET_REPARSE_POINT
在 Windows 7 CMD 控制台中对 LSemi 的方法稍作修改对我有用
mklink TempLink NewTarget
copy /l /y TempLink OldLink
del TempLink
我有一个每秒多次读取 OldLink 的过程,通过这种方法,我可以不断地将 OldLink 更新到新目标,而不会导致读取错误。严格来说,这可能不是原子的,但影响符号链接副本所花费的时间必须非常小,以至于不会干扰。