Ms-Dos - Obtener ruta desde donde ejecuto un bat

 
Vista:

Obtener ruta desde donde ejecuto un bat

Publicado por chelo (4 intervenciones) el 30/08/2010 21:47:55
Buenas
Estimados, necesito si me pueden dar una mano, con el siguiente problema.
estoy ejecutando un .bat que llama a un .exe con dos parametros, el problema que tengo es que al ejecutar el .bat, windows xp me toma como ruta de ejecucion una ruta generada de forma temporal, ejemplo c:\document...\usuario1.
cuando se loguea en el equipo el usuario2, me busca archivos en c:\document...\usuario2.
Tengo alguna forma de saber de donde se llama al .bat ¿
Gracias saludos
chelo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Obtener ruta desde donde ejecuto un bat

Publicado por Antoni Masana (295 intervenciones) el 31/08/2010 11:56:44
Si pones

ECHO %0

Dice desde donde se ha ejecutado y el nombre del BAT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por chelo (4 intervenciones) el 31/08/2010 13:13:48
Antoni
Probe con lo que me dijiste y es mas o menos lo que andaba buscando. Ahora, debo posicionarme en el directorio desde donde se ejecuta el bat. con %0 me da la ruta completa incluyendo el nombre del .bat. Como puedo hacer para limpiar el string que me retorna? eje. %0. "c:\s\prueba\archivo.bat", necesito solo la ruta.
Otra cosita, como puedo conseguir un manual de programacion en shell o dos, no se como llamarlo?
Gracias por tu pronta respuesta.
sldos desde argentina.
chelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por Armando Nava (194 intervenciones) el 31/08/2010 18:26:20
Usa las variables expandidas

%~I - expande %I quitando las comillas (") que pudiera haber
%~fI - expande %I a un nombre de ruta
calificado
%~dI - expande %I sólo a una letra de
unidad
%~pI - expande %I sólo a una ruta
%~nI - expande %I sólo a un nombre de
archivo
%~xI - expande %I sólo a una extensión de archivo
%~sI - ruta expandida contiene sólo nombres cortos
%~aI - expande %I a atributos de archivos
%~tI - expande %I a fecha/hora del archivo
%~zI - expande %I a tamaño del archivo
%~$PATH:I - busca los directorios de la lista de

------------------------------------------------------------------

Ejemplo:

@echo off

echo %0
echo %~s0
echo %~d0%~p0

pause
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por chelo (4 intervenciones) el 01/09/2010 01:02:54
Armando
Gracias x tu respuesta. Lo Voy a probar.
Nunca vi esto que me estas diciendo y la verdad que me interesa, como puedo hacer para obtener algun manual, o ayuda sobre los "parametros, comandos o variables", no se como llamarlos, del DOS, como estos que no son los standar.
Saludos
chelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por Armando Nava (194 intervenciones) el 01/09/2010 03:37:28
Saludos.

La ayuda esta simpre disponible, para cualquier comando teclea por ejemplo:

for /?
if /?
dir /?
at /?

También esta el help para ver el listado de comandos. Ya despues todo tiene que ver con la experiencia y la habilidad para usar esos comandos a tu favor.

http://www.computerhope.com/msdos.htm
http://malektips.com/dos_and_batch_files_help_and_tips.html
http://es.wikipedia.org/wiki/Batch

Hay muchos manuales en internet algunos estan en Ingles.

Prueba tambien en foro.elhacker.net en la sección de scripting.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por chelo (4 intervenciones) el 01/09/2010 12:53:22
Ok.
Muchas gracias. Lo voy a probar!!
saludos
chelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por Joaquin Rene Suarez (1 intervención) el 07/11/2019 17:23:15
Excelente, muchas gracias por tomarte el tiempo. Si queres obtener la ruta de un archivo que recibis por parametro en un bat, esta linea lo hace todo: echo %~d0%~p0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener ruta desde donde ejecuto un bat

Publicado por marcos (1 intervención) el 31/01/2020 09:42:26
como puedo usar el directorio que me muestra echo%0 para ejecutar un programa que esta en ese mismo direcorio?

mi intencion es que el bat este simpre en la carpeta del programa que quiero ejecutar y q sin importar donde este instalado el programa el bat lo encuentre y lo ejecute, por eso pense q si el bat sabia su propia ubicacion tambien podria ejecutar un programa del mismo directorio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar