
Aquí tenenemos dos formas de localizar desde un archivo batch la ruta
%CD%
Esta variable contiene la ruta actual.
%~dp0
Esta variable contiene la ruta del archivo batch.
Ejemplo 1
En este ejemplo se puede apreciar el funcionamiento de ambas formas de localizar la ruta. La diferencia es que %CD% es la ruta actual, por lo que si cambia dentro del batch esta cambia, mientras que %~dp0 es la ruta del batch y no cambia en ningún momento.
@echo off
echo %CD%
e:
echo %CD%
echo %~dp0
Pause
Ejemplo 2
Este batch de DOS, mediante la variable %CD% localiza la ruta actual y la carga en otra variable que podrá ser utilizada más adelante por el programa.
set MIRUTA=%CD%
echo %MIRUTA%
pause
Este es un pequeño truco que permite al batch saber desde donde se está ejecutando en cualquier momento y es el primer paso para hacer batch que interactuen adecuadamente con otros archivos, independientemente de su ubicación.
De esta forma podemos, por ejemplo llamarlo simplemente con un doble clic desde cualquier ubicación y que funcione, sin tener que acceder a el mediante linea de comandos. O también nos permitirá cargar en una variable la ruta actual de trabajo del mismo.