Pregunta ¿Cómo creo un enlace simbólico en Windows?


Windows Vista agregó la capacidad de crear enlaces simbólicos a archivos y directorios. ¿Cómo creo un enlace simbólico y cuáles son las versiones actuales de servidor y consumidor de Windows que lo admiten?


108
2018-05-11 18:06


origen


¿Puede alguien resaltar las diferencias entre un enlace simbólico y un atajo? - tomjedrz
@tomjedrz: si está usando un atajo, cualquier API para abrir ese atajo abrirá un archivo de texto que contiene la ruta al archivo / carpeta de destino. Si está utilizando enlaces, cualquier API para abrir ese enlace abrirá el archivo / carpeta de destino. - Afriza N. Arief
Contrariamente a lo que todas las personas han dicho, confirmo que es posible usar enlaces simbólicos en Windows XP. (Lo uso para instalar la base de datos Picasa en la carpeta compartida de VM). Solo echar un vistazo a schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.htmly navegue a la sección "Enlaces simbólicos para Windows XP". HTH - Adam Ryczkowski


Respuestas:


Puede crear un enlace simbólico con la utilidad de línea de comando mklink.

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.

Los enlaces simbólicos a través de mklink están disponibles desde Windows Vista y Windows Server 2008. En Windows XP y Windows Server 2003 puede usar

fsutil hardlink create <destination filename> <source filename>

De acuerdo a msdn.microsoftLos enlaces simbólicos NO son compatibles con FAT16 / 32 y exFAT. Parece que Windows solo los admite desde o hacia particiones NTFS. Es probable que los futuros sistemas operativos de Windows continúen con el soporte para mklink.

Puedes leer más información sobre esta nueva característica en Microsoft TechNet, Blog de Junfeng Zhang o howtogeek.com.


106
2018-05-11 18:20



Estaría bien agregar la url de David's Technet a su entrada para completarla. - Michael Pryor
nota del sitio, ¿qué es un juntion (opción / J)? - Roy Rico
Un Directory Junction es un tipo de enlace simbólico de directorio. support.microsoft.com/?kbid=205524 - Lara Dougan
NTFS ha sido compatible con enlaces (con varios nombres) desde Windows 2000, pero solo se utilizaron internamente, especialmente en los recursos compartidos de dominio SYSVOL; algunas utilidades estaban disponibles para administrarlas, pero no estaban integradas; Vista presentó la herramienta MKLINK y el uso extensivo de enlaces en las instalaciones predeterminadas de Windows. - Massimo
Sería bueno mencionar fsutil de la respuesta de @ sascha a continuación para proporcionar una solución para Windows Server 2003. - Phrogz


En Windows XP puedes usar fsutil (integrado en el sistema operativo) para crear un enlace duro

 fsutil hardlink create c:\foo.txt c:\bar.txt

Tenga en cuenta que fsutil solo funcionará si ambos están en la misma unidad


30
2018-05-11 23:48



Buena respuesta. Estoy en WinXP / Win2003 y necesitaba mklink, pero esto resolvió mi problema por mí. Usualmente uso junction.exe desde sysinternals, pero eso solo maneja directorios y en este caso necesito un enlace de archivo - s3v1
Es una lástima que fsutil no pueda crear un enlace simbólico, al menos por lo que he leído en otros lugares. Este es un enlace duro y por lo tanto no es una respuesta a la pregunta. - Vlasec


Una pequeña cosa, si está utilizando Powershell, mklink no funciona directamente, ejecútelo así:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2

10
2018-06-28 16:19



Eso debería ser / c, no / k, de lo contrario, cmd.exe no se cerrará. - dangph


Utilizar mklink o unión desde Sysinternals (Microsoft). yo creer  mklink funcionará en Windows 2000 y superior, pero no puedo encontrar ninguna documentación sólida sobre eso. unión es para Windows 2000 y superior.


7
2018-05-11 18:10



El comando mklink es Vista y Server 2008 y solo para arriba, como señalé anteriormente.


No vi esto en ninguna de las respuestas, pero linkd.exe (en el kit de recursos de Windows 2003 aquí) le permite crear uniones, que funcionan bastante bien como lo hace un enlace blando / duro en Linux. Las uniones están disponibles desde Windows 2000 y superiores, así que solo copie linkd.exe al sistema de destino y debería funcionar.


4
2018-06-04 22:36



Tenga en cuenta que `/ linkd` es solo para directorios, no archivos. - Phrogz


Si aún está en Windows antiguo, como XP, 2000, 2003, etc., intente Enlace NTFS.

Lo uso mucho. Obtendrá una opción de menú de enlace con el botón derecho para crear un punto de unión. Cosas excelentes


3
2018-05-11 19:35



Esto me funcionó muy bien en Windows 2003 para crear un enlace simbólico a una carpeta en otra unidad. ¡Gracias! - Phil
Comentario del usuario anónimo, editado originalmente en la respuesta: "Nota: para que XP funcione, debe usar una partición NTFS, no FAT o FAT32. Consulte aumha.org/win5/a/ntfscvt.php para los pasos sobre cómo convertir a NTFS ". - squillman


Ver TechNet entrada. Creo que es una característica de Vista / Server 2008 y superior.


2
2018-05-11 18:08



Genial, nunca antes había conocido esta característica, gracias por el enlace, ¡podría ser tan útil! - Marc-Andre R.


Para asegurarse de que sus enlaces funcionen, es posible que desee verificar la configuración de su servidor. Se pueden hacer enlaces, pero a menos que use la configuración de evaluación de enlace de enlaces en el siguiente comando, sus enlaces podrían no funcionar.

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

Ver también http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx. Por defecto solo las opciones locales están activadas.


1
2018-01-05 22:07