2012-07-02 56 views
5

如何更改已經存在的符號鏈接的目標。任何解決方案都可以工作:控制檯,PowerShell等。更改窗口中符號鏈接的目標

重要的是想做這個改變原子般的解決方案刪除鏈接,然後創建一個新的不適合我。

+0

如果在事務中包裝刪除和重新創建,我相信它將是原子的。 –

+0

什麼樣的交易?文件系統操作,如移動文件在同一個磁盤上,我認爲是原子。兩個文件操作不是。請糾正我,如果我錯了。 –

+0

看到我的答案。在Windows Vista中添加了對事務性NTFS的支持。 –

回答

2

這似乎是可能的與ZwFsControlFile function使用FSCTL_SET_REPARSE_POINT control code。至少這是我從Far Manager如何通過Process Monitor收集的信息。

+0

截至2017年3月[遠程管理員](http://svn.code.sf.net/p/farmanager/code/trunk/unicode_far/flink.cpp)使用[DeviceIoControl](https://msdn.microsoft.com /en-us/library/windows/desktop/aa363216%28v=vs.85%29.aspx)函數來更改/編輯符號鏈接或結點目標。 –

2

你可以使用事務NTFS。請參閱以下功能:

的缺點是,MS廢除了對事務的支持。特別是在Windows Server 2012中引入的新文件系統中不提供交易。

+0

謝謝你,哈利。儘管有可能進行交易。不幸的是,棄用是一個不好的跡象,所以我不確定我能否使用它。 –