Question Comment supprimer un lien symbolique?


J'ai créé un lien symbolique en utilisant mklink. Maintenant je dois le changer mais je ne peux pas comprendre comment le supprimer pour que je puisse le recréer correctement.


285
2017-07-23 23:22


origine




Réponses:


Soyez très prudent. 

Si vous avez un lien symbolique qui est un répertoire (créé avec mklink /d) puis en utilisant del supprimera tous les fichiers du répertoire cible (le répertoire vers lequel pointe le lien), plutôt que le lien.

SOLUTION:  rmdir d'autre part ne supprimera que le lien du répertoire, pas ce que le lien pointe vers.


492
2017-07-05 17:07



Après avoir accidentellement fait cela (suppression du contenu complet du dossier cible), ceci est un conseil important. - Simon Gillbee
Cette réponse n'est pas tout à fait exacte. Del supprime les fichiers, pas les dossiers. Par conséquent, vous n'utiliseriez pas del supprimer le lien. - AMissico
Mais ne pas utiliser rmdir dans PowerShell. Envelopper cmd premier. Voir ma réponse ci-dessous ... - northben
Que diriez-vous si je le supprime par le biais de Windows Explorer ???? - Cheung
Les employés de Microsoft y retournent, essayant simplement de ruiner ma vie, ma carrière et mon système d’exploitation Windows. - ThorSummoner


Pour un lien symbolique vers un fichier, utilisez del. Pour un lien symbolique vers un répertoire créé avec mklink /d, utilisation rmdir.


42
2017-08-19 19:13



Attention: "del" supprimera le fichier et pas seulement le lien. - WoodenKitty
Attention de @Tristan n'est pas correct, cette réponse est exacte. Testé sur Windows 7. - jiggunjer
Dans Windows 7 SP1 (64 bits), un lien symbolique qui pointe vers un fichier (par exemple, créé avec MKLINK) ou vers un répertoire (MKLINK / D) peut être supprimé dans l’Explorateur Windows à l’aide de l’option Windows Supprimer. , sans pour autant supprimer la cible. Même un JONCTION (par exemple, créée à l'aide de la commande MKLINK / J), si elle est supprimée dans l'Explorateur, ne supprimera pas le répertoire cible ni son contenu. S'il n'est pas vide, le répertoire cible ne peut même pas être supprimé à l'aide de la commande DEL jonction à l'invite de commande. Testé aujourd'hui. - Ed999
Sur Windows Server 2012, cela supprimait le contenu du répertoire vers lequel mon lien symbolique était pointé ... - C Bauer


Pour supprimer les liens symboliques de répertoire créés avec mklink /d il est juste de supprimer le lien symbolique dans l'explorateur.


42
2018-01-13 04:15



+1 pour indiquer aux utilisateurs qu'il est possible de supprimer le lien symbolique via l'Explorateur Windows. - AMissico
C'est correct. Je le fais tout le temps. Je l'ai juste testé à nouveau maintenant. - ddelrio1986
Cela a juste fonctionné pour moi aussi. J'ai supprimé le lien et non le dossier source lié. peut-être que la prise. - R Hughes
Il est prudent de simplement le supprimer avec un clic droit -> Supprimer. Cela ne supprime PAS le dossier lié. - 0x25b3


Dans Powershell, ne pas utiliser rmdir! Utilisation cmd /c rmdir .\Target au lieu. Je l'ai testé moi-même et l'ai confirmé ici: http://kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/


22
2018-05-13 21:22



Ce blog confond le sens de "Cible", qui est le répertoire réel vers lequel le lien pointe, et quelles personnes souhaitent généralement éviter de supprimer tout en supprimant le lien. - kreemoweet


Il existe une autre solution testée par moi et sûre à utiliser. ajoutez simplement au dossier réel _ (exemple: foo devenu foo_) Supprimez simplement votre lien symbolik, puis supprimez _ de votre vrai dossier.


21
2017-12-06 07:24



oui, c'est la solution 100% plus sûre après que vous sachiez que powershell ne donne pas un s ** t sur rmdir - test30
C'est une précaution intelligente. +1 - Johannes
Attention: je ne pense pas que cela puisse ne pas fonctionner sur Win10 car il corrige les raccourcis lors du renommage. (Au moins les raccourcis classiques) Non testé cependant. - 0x25b3
Je l'ai fait juste au cas où. Après avoir renommé le dossier cible, le lien symbolink a échoué lorsque j'ai tenté d'y accéder, afin de pouvoir le supprimer sans me soucier. - Andrew


mklink ne peut pas être utilisé pour supprimer des liens symboliques. Pour supprimer un lien symbolique, supprimez-le simplement comme si vous supprimiez un fichier normal. Par exemple, pour supprimer le lien symbolique foo créé ci-dessus, entrez la commande suivante:

Si le lien est un lien dur vers un répertoire:

C:\test>rmdir foo

ou bien, si le lien pointe vers un fichier (par opposition à un répertoire)

C:\test>del foo

La source: http://www.mydigitallife.info/2007/05/22/create-symbolic-links-hard-links-and-directory-junctions-in-vista-with-mklink/


20
2017-07-23 23:25



Assurez-vous simplement de ne pas le supprimer avec del /S ou Explorer. - Hello71
Voir la réponse d'eddyq ci-dessous car l'utilisation de del pour un lien vers un répertoire ne fonctionnera pas et tentera plutôt de supprimer le contenu du dossier. - jpierson
Les liens vers les répertoires n'existent pas. Je pense que tu voulais dire symlink. - Brilliand