Pregunta ¿Cómo puedo eliminar un enlace simbólico?


Creé un enlace simbólico usando mklink. Ahora necesito cambiarlo pero no puedo encontrar la manera de eliminarlo para poder recrearlo correctamente.


285


origen




Respuestas:


Ten mucho cuidado. 

Si tiene un enlace simbólico que es un directorio (hecho con mklink /d) luego usando del eliminará todos los archivos en el directorio de destino (el directorio al que apunta el enlace), en lugar de solo el enlace.

SOLUCIÓN:  rmdir por otro lado, solo eliminará el enlace del directorio, no a lo que apunta el enlace.


492



Habiendo hecho esto accidentalmente (borró el contenido completo de la carpeta de destino), este es un consejo importante. - Simon Gillbee
Esta respuesta no es del todo precisa. Del borra archivos, no carpetas Por lo tanto, no usarías del para eliminar el enlace - AMissico
Pero no uses rmdir en PowerShell. Envuélvelo cmd primero. Ver mi respuesta a continuación ... - northben
¿Qué tal si lo elimino a través de Windows Explorer ??? - Cheung
Allí los empleados de Microsoft vuelven, tratando de arruinar mi vida, mi carrera profesional y el sistema operativo de Windows. - ThorSummoner


Para un enlace simbólico a un archivo, use del. Para un enlace simbólico a un directorio hecho con mklink /d, utilizar rmdir.


42



Advertencia: "del" eliminará el archivo y no solo el enlace. - WoodenKitty
La advertencia de @Tristan no es correcta, esta respuesta es precisa. Probado en Windows 7. - jiggunjer
En Windows 7 SP1 (64 bits), un enlace simbólico que apunta a un archivo (por ejemplo, creado con MKLINK) oa un directorio (MKLINK / D) puede eliminarse en el Explorador de Windows, utilizando la opción 'borrar' de la GUI de Windows. , sin borrando el objetivo Incluso una UNIÓN (Por ejemplo, creado utilizando el comando MKLINK / J), si se elimina en el Explorador, no eliminará el directorio de destino ni su contenido. Si no está vacío, el directorio de destino ni siquiera se puede eliminar con el comando DEL unión en el símbolo del sistema. Probado hoy. - Ed999
En Windows Server 2012, esto eliminó el contenido del directorio al que apuntaba mi enlace simbólico ... - C Bauer


Para eliminar enlaces simbólicos de directorio creados con mklink /d es seguro simplemente eliminar el enlace simbólico en el explorador.


42



+1 para decirle a las personas que es guardar para eliminar el enlace simbólico a través del Explorador de Windows. - AMissico
Es correcto. Lo hago todo el tiempo. Acabo de probarlo de nuevo ahora mismo. - ddelrio1986
Esto también funcionó para mí también. Eliminé el enlace, no la carpeta de origen a la que estaba vinculado. quizás esa es la trampa. - R Hughes
Es seguro simplemente eliminarlo con Rightclick -> Eliminar. Esto NO borra la carpeta vinculada. - 0x25b3


En Powershell, no use rmdir! Utilizar cmd /c rmdir .\Target en lugar. Probé esto yo mismo y lo confirmé aquí: http://kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/


22



Ese blog confunde el significado de "Objetivo", que es el directorio real al que apunta el enlace, y que la gente generalmente desea evitar borrar al eliminar el enlace. - kreemoweet


Hay otra solución probada por mí y segura de usar. solo agregue a la carpeta real _ (ejemplo: foo become foo_) luego simplemente borre su enlace simbólico, luego elimine _ de su carpeta verdadera.


21



Sí, esta es la solución más segura al 100% después de saber que PowerShell no da una respuesta negativa sobre rmdir - test30
Esta es una precaución inteligente. +1 - Johannes
Advertencia: no creo que esto PODRÍA no funcionar en Win10 ya que está arreglando atajos al cambiar el nombre. (Al menos Atajos clásicos) Sin embargo, no probado. - 0x25b3
Hice esto solo por si acaso. Después de cambiar el nombre de la carpeta de destino, el enlace Symbolink falló cuando intenté acceder a él, por lo que pude eliminarlo sin preocuparme. - Andrew


mklink no se puede usar para eliminar enlaces simbólicos. Para eliminar un enlace simbólico, simplemente elimínelo como si estuviera eliminando un archivo normal. Por ejemplo, para eliminar el enlace simbólico foo creado arriba, ingrese el siguiente comando:

Si el enlace es un enlace rígido a un directorio:

C:\test>rmdir foo

o bien, SI el enlace apunta a un archivo (a diferencia de un directorio)

C:\test>del foo

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


20



Solo asegúrate de no eliminarlo con del /S o Explorer. - Hello71
Consulte la respuesta de eddyq a continuación porque usar del para un enlace hecho a un directorio no funcionará y en su lugar intentará eliminar el contenido de la carpeta. - jpierson
Hardlinks a directorios no existen. Creo que quisiste decir symlink. - Brilliand