2012-07-02 13 views
5

Làm cách nào để thay đổi mục tiêu của liên kết tượng trưng hiện có. Mọi giải pháp sẽ hoạt động: console, powershell, v.v.Thay đổi mục tiêu cho liên kết tượng trưng trong cửa sổ

Suy nghĩ quan trọng là thực hiện thay đổi này một cách nguyên tử để giải pháp xóa liên kết và sau đó tạo một liên kết mới không hoạt động đối với tôi.

+0

Nếu bạn bao gồm việc xóa và giải trí trong giao dịch, tôi tin rằng nó sẽ là nguyên tử. –

+0

Loại giao dịch nào? Hoạt động hệ thống tập tin như di chuyển tập tin trên cùng một đĩa tôi nghĩ là nguyên tử. Hai hoạt động tập tin không. Hãy sửa tôi nếu tôi sai. –

+0

Xem câu trả lời của tôi. Hỗ trợ cho giao dịch NTFS đã được thêm vào trong Windows Vista. –

Trả lời

2

Điều này dường như có thể xảy ra với ZwFsControlFile function bằng cách sử dụng FSCTL_SET_REPARSE_POINT control code. Ít nhất đó là những gì tôi lượm lặt từ cách Far Manager thực hiện nó thông qua Process Monitor.

+0

Kể từ tháng 3 năm 2017 [Quản lý Far] (http://svn.code.sf.net/p/farmanager/code/trunk/unicode_far/flink.cpp) sử dụng [DeviceIoControl] (https://msdn.microsoft.com /en-us/library/windows/desktop/aa363216%28v=vs.85%29.aspx) chức năng để thay đổi/chỉnh sửa hoặc liên kết tượng trưng hoặc (các) liên kết mục tiêu. –

2

Bạn có thể sử dụng NTFS giao dịch. Xem các chức năng sau:

Nhược điểm là MS được ti hỗ trợ cho các giao dịch. Trong các giao dịch cụ thể không có sẵn trong hệ thống tệp mới được giới thiệu trong Windows Server 2012.

+0

Cảm ơn, Harry. Không bao giờ mặc dù nó có thể có giao dịch. Rất tiếc, việc không dùng nữa là dấu hiệu xấu nên tôi không chắc mình có thể sử dụng nó được không. –