Con esta entrada estreno una serie de publicaciones donde compartir unas pequeñas utilidades que he desarrollado, que me han ayudado a solucionar un problema en concreto e incluso me ha hecho ser un poco más productivo (de verdad).
A veces nos encontramos que nos falta una herramienta para evitar tener que hacer alguna tarea tediosa manualmente. Es entonces cuando programamos una pequeña pieza de software para que lo haga por nosotros, invocando de esta manera la Primera Virtud del Programador según Larry Wall (correcto, esa es la Pereza).
Pero, ¿y por qué compartirla? ¿De verdad a alguien le va a interesar? Es probable que a nadie le vaya a resultar tremendamente útil, pero como frontender casi que tengo la obligación de devolver algo a la comunidad (en este punto me adhiero al Front End Manifesto).
Y aquí va entonces la utilidad:
Un script de Batch para Windows con el que crear enlaces simbólicos de las subcarpetas de un directorio en otro directorio de destino. Utiliza el comando mklink
para enlazar cada subcarpeta con su destino.
@ECHO OFF IF "%~1"=="" GOTO Continue IF "%~1"=="-h" GOTO Continue IF "%~2"=="" GOTO No2ndParam IF NOT EXIST %1 GOTO NoWinDir1 IF NOT EXIST %2 GOTO NoWinDir2 PUSHD %1 FOR /D %%G in ("*") DO ( mklink /J "%~2\%%G" "%%G" ) POPD GOTO:EOF :NoWinDir1 ECHO %1 is not a valid directory. Type "create_symlink -h" to get help. EXIT /B 0 :NoWinDir2 ECHO %2 is not a valid directory. Type "create_symlink -h" to get help. EXIT /B 0 :No2ndParam ECHO Missing argument target_dir. Type "create_symlink -h" to get help. EXIT /B 0 :Continue ECHO Creates a symlink in the target directory for each folder in the source directory. ECHO Usage: create_symlink source_dir target_dir ECHO[ ECHO source_dir The source directory with subfolders to symlink ECHO target_dir The target directory where to create the symlinks
El problema que soluciona es que mklink
solo permite enlazar un archivo o carpeta a la vez, con lo que enlazar varios elementos puede ser muy tedioso.
Y aquí el script guardado en mi cuenta de GitHub Gist para quien quiera descargarlo: https://gist.github.com/raohmaru/3199ef79a4223cd3921d