Comment puis-je trouver tous les liens symboliques dans Windows Vista ou 7?

10

Je cherche un moyen de rechercher tous les liens symboliques sur un système de fichiers NTFS sous Windows Vista ou 7.

Ce serait encore mieux si je pouvais spécifier une cible spécifique pour voir si elle avait des liens symboliques pointant dessus, mais un moyen de les rechercher tous serait également très bien.

wojo
la source

Réponses:

15

Voici le meilleur moyen que j'ai trouvé jusqu'à présent:

dir /a:l /s

Mais c'est moche. Je préférerais une liste qui montrait un fichier par ligne au format cible => source ou quelque chose de similaire. Grepping pour SYMLINK ne fonctionne pas bien en raison du format multi-ligne. Le commutateur nu / B ne donne rien d'autre que le nom de fichier cible.

Notez que grep est un outil multiligne. Vous pouvez utiliser -an pour saisir les n lignes précédentes et suivantes, et -An pour simplement saisir les n lignes suivantes. Par exemple, grep -A10 configure saisirait les dix lignes suivantes après avoir trouvé le mot "configure". Si vous aviez 2 instances du mot configurer 3 lignes à part, vous finiriez par saisir 14 lignes au total.

wojo
la source
5

Depuis que la recherche Tout a été réécrite (janvier 2013), vous pouvez désormais rechercher des attributs. Une requête " attrib: L " révélera tous les liens symboliques de différents types sur votre ordinateur. Afficher la colonne Attributs (Ctrl + Maj + 8) pour trier par attribut.

Vous pouvez également créer un filtre pour cette recherche d'attribut particulière (Rechercher, Ajouter aux filtres) si vous effectuez souvent ce type de recherche ou si vous souhaitez attribuer un raccourci clavier.

J'ai remarqué l' attribut initial : la recherche a semblé bloquer tout temporairement, mais s'est terminée après quelques secondes ... vaut la petite attente pour un outil aussi puissant.

BJordan
la source
2

Essayez SageLinks - un petit utilitaire open-source gratuit pour Windows, il peut trouver et revérifier tous les liens symboliques ainsi que les jonctions et les raccourcis:

Capture d'écran de SageLinks

Nikolay Raspopov
la source
Pouvez-vous ajouter des informations sur le lien, par opposition à une simple image? Coût, comment l'avez-vous trouvé, y êtes-vous affilié, etc.?
Canadian Luke
Il s'agit d'un lien vers la page GitHub avec un utilitaire open-source gratuit qui trouve (et vérifie la validité) tous les liens symboliques dans Windows XP ou version ultérieure comme demandé dans cette question.
Nikolay Raspopov
Génial, pouvez-vous modifier pour ajouter cela à votre réponse? Cela aide les futurs visiteurs à savoir si c'est une bonne réponse plus rapidement
Canadian Luke
Agréable et rapide. Mais les liens durs NTFS comme c: / a // b fonctionnent bien dans win7; tandis que sagelink les marque comme invalides. Win7 autorise les barres obliques, les barres obliques inverses et les barres obliques supplémentaires.
mosh
Interdit. Veuillez décrire comment vous avez créé ces liens?
Nikolay Raspopov
2

Vous pouvez essayer l'outil gratuit, Junction by SysInternals

Pour rechercher tous les liens symboliques sur un lecteur, accédez à la racine et tapez:

C:\> junction -s -q

-s passe par tous les sous-répertoires

-q ignore les erreurs telles que «l'accès est refusé».

Cela vous donnera tous les points d'analyse que Windows utilise actuellement.

Si vous souhaitez déterminer si un fichier ou un dossier spécifique est un point d'analyse, tapez simplement le nom de l'utilitaire et le nom du fichier / dossier après. Soyez prudent avec les noms de dossier car l'ajout d'une barre oblique inverse peut modifier les résultats.

C:\> junction c:\apps

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

c:\apps: JUNCTION
   Substitute Name: e:\dropbox\apps

C:\>
Soleil
la source
0

Pour toutes les recherches de fichiers sur les systèmes Windows, je suggère d'utiliser tout . Il est ultra rapide et très léger.


la source
Tout est soigné, mais ne semble pas pouvoir filtrer par les points de jonction Windows, les liens symboliques, etc.
wojo
0

Moi aussi, je cherchais cette capacité et je ne l'ai pas vue ailleurs. Je l'ai ajouté à mes bibliothèques Windows pour Python. Malheureusement, si vous n'êtes pas déjà un programmeur Python passionné, vous avez quelques étapes pour tout installer.

  1. Téléchargez Python 2.6.4 et installez-le.
  2. Téléchargez distribué-setup (partie de distribuer ) ou ez_setup (partie de setuptools ) et exécutez le script. Cela installe l'un des deux gestionnaires de packages pour Python que mon package nécessite pour fonctionner.
  3. Utilisez easy_install pour installer le package jaraco.windows et ses dépendances. Depuis l'invite de commande:

X

\Python26\scripts\easy_install jaraco.windows

Après avoir suivi ces étapes, vous devriez avoir un script appelé \ python26 \ scripts \ find-symlinks.exe ou \ python26 \ scripts \ find-symlinks-script.py que vous pouvez exécuter avec un nom de chemin facultatif pour rechercher les liens symboliques. Il recherchera les liens symboliques et rapportera les résultats, une ligne chacun. J'ai testé cette procédure sur une nouvelle installation de Windows 7.

> cmd /c mklink /d mylink \windows 
symbolic link created for mylink <<===>> \windows
> cmd /c mklink myfilelink \windows\notepad.exe
symbolic link created for myfilelink <<===>> \windows\notepad.exe

> \python26\scripts\find-symlinks
D .\mylink --> \windows
  .\myfilelink --> \windows\notepad.exe
Jason R. Coombs
la source
0

Script Cygwin / bash pour win7

c:\> cat find-dead-links.sh
#!/usr/bin/bash
find . -maxdepth 3 -type l -print0 |
while IFS=   read -r -d $'\0' file ;do
  [[ -e "$file" ]] && continue
  echo "Bad link $file"
done 
mosh
la source