Enlaces simbólicos (junctions) en Win2K, XP y posteriores

Enlaces simbólicos (junctions) en Win2K, XP y posteriores

Aún más increíble que el hecho de que esté escribiendo algo para el reverso tenebroso de la fuerza es que en Win2K, si tenemos un sistema de ficheros NTFS, podemos crear enlaces simbólicos a carpetas. Por desgracia, sólo a carpetas, pero algo es algo. Así, a los linuxeros que no podemos vivir sin un ln -s en nuestras vidas nos resulta más sencillo acometer diversos problemas de los que hablaré en un artículo posterior: usos y costumbres de los enlaces simbólicos en Windows.

Bueno, al turrón. En la página de Mark Russinovich y Bryce Cogswell, Sysinternals podemos encontrar, entre toneladas de excelente documentación y otras utilidades a junction, el programa que nos permitirá crear los enlaces simbólicos. Para los impacientes, aquí está el enlace para descargarlo.

Un ejemplo de uso

Que como dice Joel Spolsky, Show, don’t tell. Una vez bajado el zip del junction lo descomprimimos y el ejecutable lo ponemos en c:\windows o en otra carpeta que esté en el PATH.

Vamos a crear un enlace a c:\windows\system32 que se llame sys. Para ello escribimos (desde una consola, Inicio->Ejecutar->cmd.exe):

C:\WINDOWS\system32>junction c:\sys .
Junction v1.03 - Win2K junction creator and reparse point viewer
Copyright (C) 2000-2002 Mark Russinovich
Systems Internals - www.sysinternals.com
Created: c:\sys
Targetted at: C:\WINDOWS\system32
C:\WINDOWS\system32>cd \
C:\>dir
El volumen de la unidad C no tiene etiqueta.
El número de serie del volumen es: 0FDB-2CE8
Directorio de C:\
26/07/2005  19:23    <DIR>          Archivos de programa
26/07/2005  19:24    <DIR>          Documents and Settings
... blah, blah, blah ...
25/07/2005  17:01   <DIR>          Sun
27/07/2005  15:40    <JUNCTION>  sys
... blah, blah, blah ...
27/07/2005  15:21   <DIR>          WINDOWS
25/04/2005  16:08         1.117.393 wrar342es.exe
11 archivos     77.591.418 bytes
25 dirs  68.416.106.496 bytes libres

He resaltado en negrita el enlace. ¡Funciona! Si ahora entramos en la «carpeta» c:\sys veremos el contenido de c:\windows\system32

Borrando y consultando un junction

Borrar un enlace es muy sencillo. Basta escribir juncion -d <nombre-enlace> y se nos indicará que el enlace ha sido borrado.

Si queremos saber a qué carpeta apunta un junction, escribiremos junction <nombre-enlace> y nos mostrará el destino al que apunta.

One comment

  1. No se si es porque los nombres tienen espacios o el Junction es una versión distinta al utilizado en esta nota, en mi caso necesitaba crear un enlace a Program Files (Windows XP lenguaje inglés) llamado Archivos de Programa y no me salía como lo indica la nota, pero logré hacerlo así:

    Inicio > Ejecutar >> cmd
    C:\>junction «C:\Archivos de Programa» «C:\Program Files»

    Esto creó el enlace llamado «Archivos de Programa» dirigido a la carpeta «Program Files»

Leave a Comment