.BAT = Cambiar la ruta de %~dpnx0
micromega
-
micromega -
micromega -
Hola,
Estoy usando este código
Sin embargo, me gustaría poder moverme a partir de esa ruta para usar otra ruta.
Ejemplo: el archivo ".bat" está en F:\Mon\Dossier 1\fichier.bat
la orden set currentpath=%~dpnx0 me da bien esa ruta, pero me gustaría ir a F:\Mon\Dossier 2\Dossier 3\fichier.exe
¿Cómo puedo cambiar de carpeta a partir de ahí?
Gracias
Estoy usando este código
set currentpath=%~dpnx0para recibir la ruta de donde se encuentra el archivo .bat.
Sin embargo, me gustaría poder moverme a partir de esa ruta para usar otra ruta.
Ejemplo: el archivo ".bat" está en F:\Mon\Dossier 1\fichier.bat
la orden set currentpath=%~dpnx0 me da bien esa ruta, pero me gustaría ir a F:\Mon\Dossier 2\Dossier 3\fichier.exe
¿Cómo puedo cambiar de carpeta a partir de ahí?
Gracias
4 respuestas
-
Hola.
currentPath es una variable creada por set.
currentPath es una variable afectada por otra variable ms-dos
que devuelve la ruta y su archivo.
d representa la letra de la unidad
p representa la ruta del archivo
n representa el nombre del archivo
x representa la extensión del archivo.
Para modificar esta ruta es necesario obtener la ruta sin el archivo.
~dp0
una vez obtenida la ruta por la variable ~dp0 se añaden dos puntos para subir un directorio.
~dp0..\
En el directorio superior se especifica la carpeta en la que se desea colocar, seguido del nombre del archivo si se desea. En mi caso un archivo html
%~dp0..\mars-radio-dnb-2\index.html
Para conservar la variable currentPath he creado otra variable
llamada cheminAuxiliare y le he asignado la ruta que deseaba.
Basta con colocar echo delante de esta variable para mostrarla o, si no, quitar echo para lanzar el programa. Aquí en mi caso eso lanza una página html.
@echo off
set currentpath=%~dp0
set cheminAuxiliare=%~dp0..\mars-radio-dnb-2\index.html
%cheminAuxiliare%
pause -
hola,
ya no recuerdo, ha pasado mucho tiempo
pero a partir de este camino crea un archivo que contenga las variables del camino que llamas con el comando call creo (tengo que verificar esta noche... si no has respondido entre tanto).
ya no recuerdo pero si busco en mis códigos debería encontrarlo...
--
creo ser lo suficientemente inteligente para decir que no sé nada... -
Hola y gracias por tu ayuda!
De hecho, la solución de codeurh24 parece funcionar. Gracias a ti.
Sin embargo indicas "una vez que se obtiene la ruta mediante la variable ~dp0 se añaden los dos puntos para subir un directorio." >> 2 puntos para subir un directorio, pero si se desea subir 3 o 4 directorios por ejemplo, ¿funciona o hay otra técnica? -