¿Windows tiene el ln -s o equivalente?

38

Necesito vincular un archivo a C:\Windows\System32\drivers\etc\hosts

¿Cómo puedo hacer eso con Windows? ¿Hay un enlace suave como ln -so equivalente en Windows?

prosseek
fuente

Respuestas:

38

Está buscando el comando "mklink".

Documentación y ejemplos en Microsoft Docs o ss64.com .

Ejemplo tomado del enlace:

// To create a symbolic link named MyDocs from the root directory to the \Users\User1\Documents directory, type:
mklink /d \MyDocs \Users\User1\Documents
scigor
fuente
44
Tenga en cuenta que necesita privilegios de administrador para crear enlaces simbólicos.
Andres Riofrio
16

Puede haber otras formas, pero la que conozco es mklink:

C:\>mklink 
Creates a symbolic link.

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.
Matthew S
fuente
3

Hay cruces, pero no sé si esto hará exactamente lo que necesita.

editar: ¡perdón! La unión solo se aplica a directorios, no a archivos

Martin Beckett
fuente
2

Como @inf dice, mklink es la solución para Vista y superior.

Para 2000 / XP, puede usar fsutil hardlink . Tenga en cuenta que, a diferencia de mklink, hardlink no funciona en las unidades.

studgeek
fuente
1
También es digno de mención que algunas personas pueden no ser conscientes, pero los enlaces rígidos se convierten en el archivo . En otras palabras, es posible eliminar el original y el enlace aún funciona (y es por eso que no puede funcionar en las unidades).
Camilo Martin el
De acuerdo con el enlace que proporcionó, fsutil hardlink , fsutil hardlinkes solo para Vista y superior. ¿Existe una versión anterior disponible para Windows 2000 y XP?
matty
De hecho, está disponible para XP, como se describe en los documentos de fsutil hardlink de Windows XP . No puedo dar testimonio de su funcionalidad en Windows 2000, pero funciona en Windows XP.
matty
2

Link Shell Extension puede crear enlaces simbólicos (entre otras cosas). Buena integración del menú contextual. Disponible para las versiones más recientes de Windows y actualizado con frecuencia.

Francois
fuente
1

Potencia Shell

Mientras Microsoft aconseje usar como intérprete de comandos desde hace más de 5 años y cmd.exese convierta en una aplicación heredada, esta pregunta carece de respuesta en Powershell:

New-Item -path ~\Desktop\hosts -itemType SymbolicLink -target c:\Windows\System32\Drivers\etc\hosts

Esto funciona a partir de Powershell v5.0

maoizm
fuente
-2

abra la Terminal / CMD en android / sdk / tools, escriba

Terminal ** ln -s emulator64-x86 emulator-x86 ** CMD mklink emulator64-x86 emulator-x86

esto se creará como ...

enlace simbólico creado para emulator64-x86 << === >> emulator-x86

TUBO INTRA
fuente