programacion programa para lista hacer ejemplos ejecutar crear como comandos batch bat avanzados avanzada automaticamente autoejecutable archivos archivo windows batch-file path relative-path

para - ¿Cómo ejecutar programas en el mismo directorio que el archivo por lotes de Windows?



lista de comandos batch (3)

Intente llamar al .exe con %~dp0 , así: %~dp0MyProgram.exe .

%0 contiene la ruta completa al archivo .bat llamado.

~dp dice obtener la unidad y la ruta, incluido el seguimiento / .

Tengo en la misma carpeta un archivo .bat y un archivo .exe . No pude llamar al archivo .exe desde .bat menos que le puse la ruta de acceso absoluta completa. ¿Hay alguna manera de no especificar la ruta?


Lo resolví cambiando el directorio de trabajo usando pushd al inicio del script y la restauración está al final del script usando popd . De esta forma siempre puedes asumir que el directorio de trabajo es el mismo que la ubicación del archivo bat.

pushd %~dp0 ProgramInSameFolderAsBat.exe popd


parece extraño? No he trabajado en Windows por algún tiempo, pero

intentaste liderar con un ./

./program.exe

realmente no debería haber 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?