Comment trouver des liens durs sur Windows?

33

J'ai créé des liens durs sur mon système de fichiers Windows 7 à l'aide de mklink. C'était il y a quelque temps et je ne me souviens pas avec certitude où, ni quels fichiers. Lorsque j'utilise Explorer, tous les fichiers se ressemblent. Lorsque j'utilise la ligne de commande et que je tape "dir", ils se ressemblent tous.

Comment trouver des liens durs? Ou comment puis-je déterminer si un fichier spécifique EST un lien dur?

MM.
la source

Réponses:

33

Tous les fichiers sont des liens durs, avec un nombre de liens d'au moins 1.

C'est pourquoi les fichiers se ressemblent. Ce sont les mêmes. Ce que vous semblez rechercher, ce sont des fichiers dans lesquels il existe plusieurs liens vers le fichier. Il y a très peu de choses qui distinguent un fichier avec un nombre de liens supérieur à un d'un fichier avec un nombre de liens de un… sauf le nombre de liens (et un comportement étrange en ce qui concerne les attributs et les horodatages).

Et c'est très facile à vérifier avec la findcommande qui se trouve dans la boîte à outils de l'utilitaire SFUA de Microsoft , qui s'exécute dans le sous - système pour les applications basées sur Unix :

trouver . -liens +1

JdeBP
la source
9
tout comme une note, cygwin / bin / find fonctionne également. Merci!
arcyqwerty
6
Juste pour être clair, le "Microsoft find" référencé dans la solution n'est pas le Windows 7 installé par défaut. Vous devez télécharger et installer un nouveau Microsoft find. Ensuite, vous pouvez utiliser cet findutilitaire. Ou installez la findcommande de Cygwin comme @arcyqwerty (qui aura probablement un meilleur support à long terme).
Trevor Boyd Smith
2
Peut également utiliser le intégré fsutil hardlink list filename. (voir la réponse de Sergey )
Svish
28

Sous Windows 7, utilisez la commande:

fsutil hardlink list MyFileName.txt

Il répertorie tous les liens physiques vers un fichier avec un nom MyFileName.txt.

Sergey
la source
Notez que vous devez être administrateur pour exécuter fsutil.
Alastair Maw
2
@AlastairMaw Sur au moins Windows 10, vous n'avez pas besoin d'être administrateur pour exécuter cette commande particulière. Ou cela fonctionne-t-il d'être administrateur sans UAC? (c'est-à-dire juste le groupe sans élévation réelle)
Paul Stelian
9

Malheureusement, l'OS n'a aucun moyen de trouver tous vos liens physiques sans regarder chaque fichier.

Pour Explorer, vous pouvez télécharger l' extension très pratique Link Shell , qui superpose les fichiers avec des liens durs avec une flèche rouge comme un raccourci.

Cela facilite également la création de liens physiques, de liens symboliques et de jonctions via le menu contextuel de l'Explorateur.

Chatter bonus:

Techniquement, tous les fichiers sont des liens physiques. Ainsi, vous recherchez vraiment des fichiers avec plus d'un lien physique.

surfasb
la source
1
En fait, ça l'est. Voir la réponse de Sergey .
Svish
1
La réponse de Sergey fonctionne pour la deuxième partie de la question, mais pas la première.
surfasb
3

utilisez finddupe :

finddupe -listlink c:\photos
eadmaster
la source
-listlink Met finddupe en mode de recherche de lien dur. Dans ce mode, finddupe listera quels groupes de fichiers sont liés ensemble. Toutes les instances liées à un lien dur trouvées dans un fichier sont affichées ensemble. Cependant, finddupe ne peut rechercher que les instances du fichier lié qui se trouvent dans le chemin de recherche.
Shayan
3

 Un moyen simple pour les contrôles ponctuels: les attributs de fichier changent-ils ensemble?

Si vous voulez tester si les fichiers Aet Bsont des liens durs vers le même contenu et que vous ne voulez rien installer ou exécuter, ouvrez la fenêtre Propriétés du fichier Aet basculez par exemple son attribut en lecture seule . Ouvrez maintenant la fenêtre Propriétés du fichier Bpour voir si la modification de l'attribut (du fichier A) a également eu lieu ici. Si oui, alors la réponse est positive.

Pourquoi ça marche? Parce que les liens durs associés partagent le même ensemble d'attributs de fichier et d'horodatages.

Cela dit, le même test peut être effectué avec des horodatages de fichiers, mais ils ne peuvent pas être modifiés aussi facilement que l' indicateur de lecture seule afin d'effectuer la vérification.

miroxlav
la source