¿Forma sencilla y sencilla de crear enlaces simbólicos en Windows?

Respuestas:

108

¿Has mirado en Junction ?

Además, Windows Vista introdujo la herramienta de línea de comandos mklink para crear enlaces simbólicos.

MKLINK [[/D] | [/H] | [/J]] Link Target
    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link refers to.

Scott Hanselman tiene un artículo escrito en http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx .

Si solo habla de Windows XP, solo he usado la herramienta Junction.

David Mohundro
fuente
44
Parece que otra opción podría ser el modificador / J en mklink (como "mklink / J <JUNCTION> <DIR>"). Tenga en cuenta que no es un ejecutable separado, es un comando en cmd, por lo que si llama desde PowerShell, tendrá que desplazarse a cmd (es decir, "cmd / c mklink / J <JUNCTION> <DIR>" )
David Mohundro
Wow cruce funciona muy bien. Crea un enlace simbólico real para que incluso Cygwin lo siga.
styfle
3
mklinkera exactamente lo que estaba buscando.
prolink007
2
¿Por qué, oh, por qué invirtieron el orden de los argumentos del antiguo lncomando UNIX ?
kbolino
1
@kbolino: ¡Fácil! Porque simplemente esperan que el mundo de código abierto se ponga al día con ellos ... ugh.
noviembre
22

Existe una herramienta llamada Link Shell Extension que facilita la creación de enlaces simbólicos a archivos, así como un tipo de enlace más antiguo llamado "Unión" (básicamente, un enlace simbólico a una carpeta), así como muchos tipos de enlaces más exóticos.

ingrese la descripción de la imagen aquí

El uso básico es simple: navegue a la carpeta de origen, haga clic con el botón derecho en el archivo o carpeta al que desea vincular y elija la nueva opción "Seleccionar origen de enlace" en el menú contextual. Luego vaya a la carpeta donde desea soltar el enlace, haga clic derecho y seleccione "Soltar como" y luego "Enlace simbólico" para archivos o "Unión" para carpetas.

pero

CUIDADO: ¡Una razón por la que Microsoft hace que sea difícil hacer esto es que las uniones y los enlaces simbólicos pueden hacer que sea muy fácil ELIMINAR accidentalmente ARCHIVOS CRÍTICOS!

En algunas versiones anteriores a Windows 7, ¡eliminar una unión o un enlace simbólico en el Explorador también eliminaría automáticamente el DIRECTORIO ORIGINAL!

Yo creo que este problema se ha resuelto ahora ... pero por supuesto que no hago promesas ... tener especial cuidado con los exploradores de archivos de terceros (si está a punto de necesitar enlaces simbólicos, estoy seguro de que está dolorosamente consciente de lo duro que sopla el Explorador de Windows 7).

Pero yo divago. Mi punto es: tenga cuidado, haga su tarea y lea la documentación de LSE para descubrir cómo funcionan realmente las uniones y los enlaces simbólicos, y por el amor de Dios, ¡VUELVA TODO ANTES de comenzar a jugar con uniones y enlaces simbólicos!

Robert Roos
fuente
9

el directorio al que se hace referencia debería funcionar como si realmente se hubiera agregado a% PATH%, a la derecha

No, si tenía C: \ bin agregado a su% PATH% y dentro de c: \ bin creó una unión llamada c: \ bin \ anotherDir \ para apuntar a c: \ anotherDir \ para que pueda ejecutar some.exe desde la línea de comando como:

> anotherDir\some.exe

Esto no funcionaría ya que la variable% PATH% no funciona con subdirectorios (enlazados o no)

necesitaría crear un enlace directo directamente a some.exe, por lo que el enlace duro c: \ bin \ some.exe apunta a c: \ anotherDir \ some.exe

En resumen, no creo que pueda hacer exactamente lo que está pidiendo. Dicho esto, recomiendo Link Shell Extension para crear uniones y enlaces duros. Ofrece más capacidades que la mayoría de las herramientas de unión en una extensión de Windows Explorer muy fácil de usar.


fuente
7

Prueba Symlinker, una herramienta GUI para crear Symlink en Windows

Esta aplicación necesita .Net Framework 3.5 para ejecutarse (se recomienda SP1) y a partir del 24/04/2015 este software solo funcionará bajo

  • Windows Vista
  • Windows 7
  • Windows 8 y 8.1

Interfaz de usuario de Symlinker

Taranfx
fuente
¿Puede crear enlaces simbólicos en Windows XP?
Sebastian Godelet
7

COMANDO NATIVO Windows Vista, 7 y 8:

  1. Enlace simbólico de archivo (predeterminado):
    • mklink <oldpath> <newpath>
  2. Enlace simbólico del directorio :
    • mklink /D <oldpath> <newpath>
BenH
fuente
Esto ya se propuso como respuesta hace 7 años.
Josh
3
Esto es inexacto: Windows XP no tiene un mklinkcomando de forma nativa .
patricktokeeffe
Vista fue la primera versión de Windows en incluir mklink, según technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx
Digo Reinstate Monica
4

No creo que la versión de NTFS que viene con XP sea compatible con enlaces simbólicos. NTFS6, que se incluye en Vista y Windows 7, admite enlaces simbólicos con el mklinkcomando. La versión XP de NTFS hace enlaces duros de apoyo, pero no puede abarcar volúmenes.

Darth Android
fuente
2

Junction es una gran utilidad, pero una cosa a tener en cuenta es que los puntos de unión se ven exactamente igual que las carpetas normales en el Explorador de Windows.

Use 'junction.exe -s' en la línea de comando para enumerar todas las uniones en carpetas y subcarpetas.

Jonathan Webb
fuente