Tengo en la misma carpeta un archivo .bat
y un archivo .exe
. No pude llamar al archivo .exe
desde .bat
a menos que le puse la ruta de acceso absoluta completa. ¿Hay alguna manera de no especificar la ruta?¿Cómo ejecutar programas en el mismo directorio que el archivo por lotes de Windows?
Respuesta
Intente llamar al .exe
con %~dp0
, así: %~dp0MyProgram.exe
.
%0
contiene la ruta completa al archivo llamado .bat
.
~dp
dice obtener la unidad y la ruta, incluida la última \
.
parece impar? No he trabajado en las ventanas por algún tiempo, pero
tenía que tratar con un líder ./
./program.exe
realmente debería haber ninguna diferencia? tal vez el murciélago se está ejecutando desde el contexto de C: \ Windows o ¿tu lote hizo algún CD a otro dir en algún momento?
Quiere decir. \ (Es decir, barra invertida). –
Creo que cuando ejecuto el lote, se está ejecutando desde otro directorio. –
Tal vez mi pregunta es "¿Cómo hacer doble clic en un archivo por lotes y hacer que se ejecute en el mismo directorio que está?" –
- 1. Cómo ejecutar múltiples programas usando el archivo por lotes
- 2. Ejecutar archivo por lotes en el fondo
- 3. archivo por lotes ~ dp0 cambios en el cambio de directorio
- 4. ¿Cómo cambiar el directorio y luego ejecutar el archivo por lotes?
- 5. archivo de proceso por lotes de Windows: ejecutar ejecutable en otro directorio
- 6. ¿Cómo establecer el directorio de trabajo de un comando en un archivo por lotes de Windows?
- 7. ¿Cuál es el directorio actual en un archivo por lotes?
- 8. Ejecutar archivo por lotes en el instalador NSIS
- 9. Ejecute el archivo por lotes como un servicio de Windows
- 10. Error al ejecutar el archivo por lotes Mysql
- 11. Ejecutando vbscript desde el archivo por lotes
- 12. ¿Se pueden ejecutar Perl y Batch en el mismo archivo por lotes?
- 13. Temporizador en el archivo por lotes de Windows
- 14. ¿Ejecutar archivo por lotes en vb.net?
- 15. ¿Cómo concatenar cadenas en un archivo por lotes de Windows?
- 16. ¿Necesito el directorio Perl bin en la RUTA para ejecutar programas perl (en Windows)?
- 17. Cómo evitar que el archivo de proceso por lotes (.bat) se cierre al ejecutar comandos?
- 18. Invocar el archivo por lotes de Windows desde Linux
- 19. ¿Cómo ejecutar un archivo por lotes desde Java?
- 20. ¿Cómo configuro el directorio/unidad de trabajo actual en un archivo de dos por lotes?
- 21. ¿Cómo ejecutar un comando de lotes de Windows recursivamente?
- 22. Cómo esperar a que finalice un proceso para ejecutar otro proceso en el archivo por lotes
- 23. ¿Cuánto demora ejecutar un archivo por lotes?
- 24. ¿Cómo probar si una ruta es un archivo o directorio en el archivo por lotes de Windows?
- 25. ejecutar un archivo por lotes en Windows 7 de conclusión antes de cerrar los programas (de preferencia en el botón de encendido prensa)
- 26. Proceso por lotes todos los archivos en el directorio
- 27. Ejecutar .jar desde archivo por lotes
- 28. ¿Cómo enumerar todos los directorios vacíos usando el archivo por lotes de Windows?
- 29. archivo por lotes de Windows operador &&
- 30. Ejecutar archivo por lotes desde Delphi IDE
+1 voto acaba de encontrar este enlace en la búsqueda de google - http://weblogs.asp.net/whaggard/archive/2005/01/28/get-directory-path-of-an-executing-batch-file. aspx – house9
¡Buena explicación, gracias! – enderland
La respuesta de Patrick Cuff anterior funciona, pero falla si parte de la ruta del directorio tiene espacios en su nombre. Para evitar esto, debe poner comillas dobles alrededor de la llamada .exe. "% ~ dp0MyProgram.exe" –