Làm thế nào tôi có thể tìm thấy các liên kết cứng trên Windows?


33

Tôi đã tạo một số liên kết cứng trên hệ thống tệp Windows 7 của mình bằng mklink. Đó là một thời gian trước đây và tôi không thể nhớ chắc chắn nơi, hoặc tập tin nào. Khi tôi sử dụng Explorer, tất cả các tệp trông giống nhau. Khi tôi sử dụng dòng lệnh và gõ "dir", tất cả chúng trông giống nhau.

Làm thế nào để tôi tìm thấy các liên kết cứng? Hoặc làm cách nào để xác định xem một tệp cụ thể có phải là liên kết cứng không?

Câu trả lời:


33

Tất cả các tệp là các liên kết cứng, với số lượng liên kết ít nhất là 1.

Đây là lý do tại sao các tập tin trông giống nhau. Họ giống nhau. Những gì bạn dường như đang tìm kiếm là các tệp có nhiều hơn một liên kết đến tệp. Có rất ít phân biệt một tệp có số lượng liên kết lớn hơn một tệp với số lượng liên kết là một liên kết ngoại trừ số lượng liên kết (và một số hành vi kỳ lạ liên quan đến thuộc tính và tem ngày).

đó là chết dễ dàng để kiểm tra với findlệnh đó là trong Microsoft toolkit tiện ích SFUA , mà chạy trong hệ thống con cho các ứng dụng dựa trên Unix :

tìm thấy . liên kết +1


9
chỉ là một ghi chú, cygwin / bin / find cũng hoạt động. Cảm ơn!
arcyqwerty

6
Để rõ ràng, "Microsoft find" được tham chiếu trong giải pháp ở đây không phải là Windows 7. được cài đặt mặc định. Bạn phải tải xuống và cài đặt một Microsoft mới find. Sau đó, bạn có thể sử dụng findtiện ích đó . Hoặc cài đặt findlệnh của Cygwin như @arcyqwerty (có thể sẽ hỗ trợ tốt hơn về lâu dài).
Trevor Boyd Smith

2
Cũng có thể sử dụng tích hợp fsutil hardlink list filename. (xem câu trả lời của Serge )
Svish

28

Trên Windows 7, sử dụng lệnh:

fsutil hardlink list MyFileName.txt

Nó liệt kê tất cả các liên kết cứng để tập tin với tên MyFileName.txt.


Lưu ý rằng bạn cần phải là quản trị viên để chạy fsutil.
Alastair Maw

2
@AlastairMaw Trên ít nhất Windows 10, bạn không cần phải là quản trị viên để chạy lệnh cụ thể đó. Hoặc nó hoạt động để trở thành quản trị viên mà không có UAC? (nghĩa là chỉ là nhóm không có độ cao thực tế)
Paul Stelian

9

Thật không may, không có cách nào để HĐH tìm thấy tất cả các liên kết cứng của bạn mà không nhìn vào từng tệp.

Đối với Explorer, bạn có thể tải xuống Link Shell Extension rất tiện dụng , nó chồng các tệp với các liên kết cứng bằng một mũi tên giống như phím tắt màu đỏ.

Nó cũng làm cho nó khá dễ dàng để tạo liên kết cứng, liên kết tượng trưng và các mối nối thông qua menu ngữ cảnh của Explorer.

Thưởng nhí:

Về mặt kỹ thuật, tất cả các tập tin là liên kết cứng. Vì vậy, bạn thực sự đang tìm kiếm các tệp có nhiều hơn một liên kết cứng.


1
Thực sự nó là. Xem câu trả lời của Serge .
Svish

1
Câu trả lời của Serge làm việc cho phần thứ hai của câu hỏi, nhưng không phải là phần thứ nhất.
Surfasb

3

sử dụng finddupe :

finddupe -listlink c:\photos

-listlink Đặt finddupe trong chế độ tìm kiếm liên kết cứng. Trong chế độ này, finddupe sẽ liệt kê các nhóm tệp được liên kết cứng với nhau. Tất cả các trường hợp liên kết cứng được tìm thấy của một tập tin được hiển thị cùng nhau. Tuy nhiên, finddupe chỉ có thể tìm thấy các phiên bản của tệp liên kết cứng nằm trong đường dẫn tìm kiếm.
Shaya

3

 Một cách đơn giản để kiểm tra một lần: Các thuộc tính tệp có thay đổi cùng nhau không?

Nếu bạn muốn kiểm tra xem các tệp ABcác liên kết cứng có cùng nội dung hay không và bạn không muốn cài đặt hay chạy bất cứ thứ gì, hãy mở cửa sổ Thuộc tính của tệp Avà chuyển đổi ví dụ như thuộc tính Chỉ đọc của nó . Bây giờ hãy mở cửa sổ Thuộc tính của tệp Bđể xem liệu thay đổi thuộc tính (của tệp A) có diễn ra ở đây không. Nếu có, thì câu trả lời là tích cực.

Tại sao điều này hoạt động? Bởi vì các liên kết cứng liên quan chia sẻ cùng một tập các thuộc tính tệp và dấu thời gian.

Điều này đã nói, thử nghiệm tương tự có thể được thực hiện với dấu thời gian của các tệp, nhưng chúng không thể được thay đổi dễ dàng như cờ Chỉ đọc để thực hiện kiểm tra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.