En un archivo por lotes,% cd% es el comando más utilizado para el directorio actual, si bien puede configurar su propia variable:
set mypath=%cd%
echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)
Así dicen usted quería abrir myprog.exe. Si estuviera en la misma carpeta, usaría el comando:
start %mypath%\Myprog.exe
Eso abriría Myprog de la carpeta actual.
La otra opción es crear un directorio en C: llamado AutomatePrograms. A continuación, transferir los archivos a esa carpeta a continuación, puede abrirlos con el siguiente comando:
start C:\AutomatePrograms\Myprog1.exe
start C:\AutomatePrograms\Myprog2.exe
start C:\AutomatePrograms\Myprog3.exe
@ Јοеу - '% 0' podría dar el nombre de la subrutina actual, pero'% ~ dp0' ** siempre ** dará la ruta completa al archivo por lotes en ejecución. – dbenham
En realidad, parece que% ~ dp0 proporciona la ruta completa al * directorio * en el que se encuentra el archivo por lotes en ejecución.% ~ Dpnx0 (que es equivalente a% ~ f0) proporciona la ruta completa al archivo por lotes. Ver http://www.robvanderwoude.com/parameters.php para más detalles. – deadlydog
Consulte también buenas respuestas detalladas de una pregunta similar: [Obtenga la lista de argumentos pasados en el script por lotes de Windows (.bat)] (http: // stackoverflow.com/q/357315/938111) – olibre