Wie finde ich Hardlinks unter Windows?


33

Ich habe mit mklink einige harte Links in meinem Windows 7-Dateisystem erstellt. Es ist einige Zeit her und ich kann mich nicht sicher erinnern, wo oder welche Dateien. Wenn ich den Explorer verwende, sehen alle Dateien gleich aus. Wenn ich die Befehlszeile benutze und "dir" eingebe, sehen alle gleich aus.

Wie finde ich harte Links? Oder wie kann ich feststellen, ob eine bestimmte Datei ein fester Link ist?

Antworten:


33

Alle Dateien sind feste Links mit einer Linkanzahl von mindestens 1.

Aus diesem Grund sehen die Dateien gleich aus. Sie sind gleich. Was Sie zu suchen scheinen, sind Dateien, bei denen es mehr als einen Link zu der Datei gibt. Es gibt nur sehr wenige Unterschiede zwischen einer Datei mit einer Linkanzahl von mehr als eins und einer Datei mit einer Linkanzahl von eins… mit Ausnahme der Linkanzahl (und einigen merkwürdigen Verhaltensweisen in Bezug auf Attribute und Datumsstempel).

Und das ist tot einfach mit dem überprüfen findBefehl, der in Microsofts ist SFUA Utility Toolkit , das läuft in dem Subsystem für Unix-basierte Anwendungen :

finden . -links +1


9
nur als note funktioniert cygwin / bin / find auch. Vielen Dank!
Arcyqwerty

6
Nur um klar zu sein, dass das "Microsoft find", auf das in der Lösung hier verwiesen wird, nicht das standardmäßig installierte Windows 7 ist. Sie müssen ein neues Microsoft herunterladen und installieren find. Dann können Sie dieses findDienstprogramm verwenden. Oder installieren Sie findCygwins Befehl wie @arcyqwerty (der auf lange Sicht wahrscheinlich besser unterstützt wird).
Trevor Boyd Smith

2
Kann auch das eingebaute verwenden fsutil hardlink list filename. (Siehe die Antwort von Sergey )
Svish

28

Verwenden Sie unter Windows 7 den folgenden Befehl:

fsutil hardlink list MyFileName.txt

Es listet alle Hardlinks zur Datei mit Namen auf MyFileName.txt.


Beachten Sie, dass Sie als Administrator angemeldet sein müssen, um fsutil ausführen zu können.
Alastair Maw

2
@AlastairMaw Unter Windows 10 müssen Sie kein Administrator sein, um diesen bestimmten Befehl auszuführen. Oder funktioniert es, ohne Benutzerkontensteuerung Administrator zu sein? (das heißt, nur die Gruppe ohne tatsächliche Höhe)
Paul Stelian

9

Leider gibt es keine Möglichkeit für das Betriebssystem, alle Ihre Hardlinks zu finden, ohne jede Datei zu betrachten.

Für den Explorer können Sie die sehr praktische Link-Shell-Erweiterung herunterladen , die Dateien mit Hardlinks mit einem roten Pfeil überlagert.

Es macht es auch ziemlich mühelos, Hardlinks, Symlinks und Junctions über das Kontextmenü des Explorers zu erstellen.

Bonus-Chatter:

Technisch sind alle Dateien Hardlinks. Sie suchen also wirklich nach Dateien mit mehr als einem Hardlink.


1
Eigentlich ist es so. Siehe die Antwort von Sergey .
Svish

1
Die Antwort von Sergey funktioniert für den zweiten Teil der Frage, aber nicht für den ersten.
Surfasb

3

benutze finddupe :

finddupe -listlink c:\photos

-listlink Versetzt finddupe in den Hardlink Finding-Modus. In diesem Modus listet finddupe auf, welche Dateigruppen fest miteinander verbunden sind. Alle fest verknüpften Instanzen einer Datei werden zusammen angezeigt. Finddupe kann jedoch nur Instanzen der fest verknüpften Datei finden, die sich im Suchpfad befinden.
Shayan

3

 Ein einfacher Weg für einmalige Überprüfungen: Ändern sich Dateiattribute gemeinsam?

Wenn Sie testen möchten , ob die Dateien Aund Bsind harte Links zu den gleichen Inhalt und Sie nicht wollen , installieren oder zu laufen alles, öffnen Sie die Eigenschaften - Fenster der Datei Aund Toggle zum Beispiel seine Read-only - Attribut. Öffnen Sie nun das Eigenschaftsfenster der Datei, um Bzu sehen, ob auch hier eine Änderung des Attributs (der Datei A) stattgefunden hat. Wenn ja, ist die Antwort positiv.

Warum funktioniert das? Da verwandte Hardlinks dieselben Dateiattribute und Zeitstempel verwenden.

Dessen ungeachtet kann derselbe Test mit Zeitstempeln von Dateien durchgeführt werden, aber sie können nicht so einfach geändert werden wie das Nur-Lese- Flag, um die Prüfung durchzuführen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.