¿Cómo crear un enlace simbólico en Windows 10?

102

Estaba leyendo http://www.dropboxwiki.com/tips-and-tricks/sync-game-saves-across-multiple-computers y sé que junction / mklink también funcionó en Windows 7, pero parece que el comando de unión ha sido retirado en Windows 10.

¿Cuál es la forma correcta de hacer enlaces simbólicos en Windows 10?

rojo
fuente
2
Puede descargar la unión de Windows SysInternals (que forma parte de Microsoft).
DavidPostill
Eso funcionó, muchas gracias! Si responde, puedo aceptarlo como la respuesta correcta.
rojo el
Excelente. Lo escribiré como respuesta.
DavidPostill
99
¿Qué tiene de malo mklink?
Daniel B

Respuestas:

122

Parece que el comando de unión se ha retirado en Windows 10.

Puede descargar la unión de Windows SysInternals (que forma parte de Microsoft):

La unión no solo le permite crear uniones NTFS, sino que también le permite ver si los archivos o directorios son realmente puntos de análisis. Los puntos de análisis son el mecanismo en el que se basan las uniones NTFS, y los utiliza el Servicio de almacenamiento remoto (RSS) de Windows, así como los puntos de montaje de volumen.

Lea este artículo de Microsoft KB para obtener sugerencias sobre el uso de uniones.

Tenga en cuenta que Windows no admite uniones a directorios en recursos compartidos remotos.


Entonces, ¿cómo creo uniones o enlaces simbólicos de directorio en Windows 10?

Descargar junctioncomo se indicó anteriormente.

Ahora puede usar los siguientes comandos.

Crea una unión:

junction "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Cree un enlace simbólico de directorio:

mklink /D "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Puede usar cualquiera de ellos mklink /jo junctionen Windows 10 para crear uniones.

Puede usar mklink /den Windows 10 para crear enlaces simbólicos de directorio.

Notas:

  • junctionTambién puede enumerar uniones y determinar si un archivo es un cruce diferente mklink.

  • mklinkes un comando interno solo disponible dentro de un cmdshell.

  • Por defecto, se requieren privilegios de administrador para crear enlaces simbólicos.

    También se puede otorgar a otros usuarios. La configuración de seguridad "Crear enlaces simbólicos" se puede otorgar en:

    Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\
    

Ejemplos

Usando mklink para crear un enlace simbólico de directorio:

F:\test>mklink /d test-dir-sym-link test
symbolic link created for test-dir-sym-link <<===>> test

Usando mklink para crear una unión:

F:\test>mklink /j test-junction test
Junction created for test-junction <<===>> test

Usando la unión para crear una unión:

F:\test>C:\apps\NirSoft\SysinternalsSuite\junction.exe test-junction test

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

Created: F:\test\test-junction
Targetted at: F:\test\test

Otras lecturas

DavidPostill
fuente
¿Es esto diferente a mklink /j?
Jonno
1
@ Jonon Hasta donde yo sé, es lo mismo al crear uniones. junctionTambién aparecerá una lista de los cruces diferenciamklink
DavidPostill
2
Por lo que puedo decir, no puede usar mklinkdentro de PowerShell , por lo que debe usar cmd.exe. Además, debe ejecutarlo como administrador. Pero no confíes en mi palabra. He estado usando una computadora con Windows por solo unas 40 horas.
Bruno Bronosky
@BrunoBronosky Correcto. Eso es porque mklinkes un comando interno solo disponible dentro de un cmdshell. Tenga en cuenta que algunos cmdcomandos internos se han implementado en PowerShell, por ejemplo dir.
DavidPostill
2
@DavidPostill Una mejora, pero aún se centra mucho en lo junctionque requiere una descarga por separado. mklinkparecería funcionar mejor como el foco principal, junctionenmarcado como una opción adicional retirada al final.
WBT
43

Abra una sesión de PowerShell como administrador elevado y escriba:

New-Item -ItemType SymbolicLink -Path E:\Data\MyGames -Target "C:\users\UserName\MyGames"

o usando una sintaxis menos detallada:

ni E:\Data\MyGames -i SymbolicLink -ta "C:\users\UserName\MyGames" 

Seguramente en 2016 y con Windows 10 no querrás jugar con comandos cmd o descargas externas.

Windows 10 viene con PowerShell 5, que tiene soporte incorporado para crear enlaces simbólicos.

Peter Hahndorf
fuente
66
¡Seguramente en 2016, no debería tener que saltar a través de aros para crear enlaces simbólicos! Todavía una de las fallas más grandes de Windows.
David Arno
11
¿Estás bromeando no? Prefiero hacer "mklink / d test-dir-sym-link test" que "New-Item -ItemType SymbolicLink -Path E: \ Data \ MyGames -Target" C: \ users \ UserName \ MyGames ". -verbose PowerShell sintaxis no es realmente de mi agrado ...
Jaime de los Hoyos M.
8
@JaimedelosHoyosM - usando la sintaxis más corta de PowerShell que puedes usarni test-dir-sym-link -i SymbolicLink -ta test
Peter Hahndorf
¿Hay alguna manera de crear un SymbolicLink desde PowerShell como este sin privilegios de administrador?
cjsimon
2
@scape: puede usar las primeras letras de un nombre de parámetro si identifican de forma única el parámetro, por ejemplo, -ison suficientes -ItemTypepero -tno son suficientes porque hay más de un parámetro que comienza t, por lo que debemos usarlo-ta
Peter Hahndorf
14

Si desea una herramienta GUI para crear / editar enlaces simbólicos, use http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

Link Shell Extension (LSE) proporciona la creación de enlaces duros, uniones, puntos de montaje de volumen y enlaces simbólicos de Windows 7/8 (en lo sucesivo denominados enlaces), un proceso de clonación de carpetas que utiliza enlaces duros o enlaces simbólicos y un proceso de copia que se encarga de Cruces, enlaces simbólicos y enlaces duros. LSE, como su nombre lo indica, se implementa como una extensión de Shell y se accede desde el Explorador de Windows o desde administradores de archivos / carpetas similares. La extensión permite al usuario seleccionar uno o varios archivos o carpetas, luego, con el mouse, completar la creación de los enlaces necesarios: enlaces duros, uniones o enlaces simbólicos o, en el caso de carpetas, para crear clones que consisten en enlaces duros o simbólicos. LSE es compatible con todas las versiones de Windows que admiten NTFS versión 5.0 o posterior, incluidas Windows XP64 y Windows7 / 8/10. Enlaces duros,

ingrese la descripción de la imagen aquí

odvpbre
fuente
3
Lea Cómo recomiendo el software para obtener algunos consejos sobre cómo debe recomendar el software. Debe proporcionar al menos un enlace, información adicional sobre el software en sí y cómo se puede utilizar para resolver el problema en la pregunta.
DavidPostill
1
Es una buena herramienta, pero algo más de información en la respuesta sería buena.
DavidPostill
1

¡No es necesario instalar nada!

Existe un symlink_creator.bat archivo simple y de código abierto , y puede arrastrar y soltar el archivo / carpeta deseado en ese archivo.


Para los downvoters curiosos: es de código abierto, así que, simplemente haga clic derecho en el archivo y vea su contenido, varias líneas de códigos allí.

T.Todua
fuente
66
Debe agregar en su respuesta cómo funciona exactamente este archivo por lotes y cuál es su asociación con él. Los archivos por lotes pueden ser muy destructivos y ejecutar archivos aleatorios desde Internet va en contra del sentido común.
MoonRunestar
Además, es interesante que no haya comentado estas palabras a la respuesta anterior, que enlaza con un programa desconocido, y el enlace que usé, enlaza con código de código abierto.
T.Todua
1
La respuesta anterior ya ha tenido un comentario moderador al respecto. Me preocupaba principalmente tu respuesta porque el sitio web que vinculaste parece un tanto incompleto, y el formato de tu respuesta provocó algunas banderas rojas para mí. Solo estoy siendo paranoico de verdad.
MoonRunestar
desafortunadamente, termina con un error "la sintaxis es incorrecta"
tutejszy