¿Cómo obtener el directorio actual para ejecutar el archivo por lotes desde el directorio actual? [duplicar]


4

Tengo que ejecutar un archivo por lotes (lunch.bat) que tiene el comando para ejecutar otro archivo por lotes (main.bat). Copié estos dos archivos en mi pendrive. Sé que la unidad de mi pendrive está más tarde en mi computadora, por eso puedo configurar el primer archivo por lotes (lunch.bat) para ejecutar otro lote en mi computadora. Pero cuando copio estos dos archivos en mi pendrive y los inserto en otra computadora, el primer archivo por lotes no puede ejecutar otro archivo por lotes. Entonces esto es un problema para mí. ¿Alguien puede ayudarme a obtener el comando de directorio actual como la función c ++ (GetCurrentDirectory) para ejecutar lotes desde cualquier computadora y desde cualquier unidad?

Respuestas:


3

De Raymond Chen

La manera fácil es usar la pseudovariable% CD%. Se expande al directorio de trabajo actual.

set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory

1

El comando por lotes cdescrito sin ningún parámetro devolverá el directorio de trabajo actual.


0

Pon este código en el lunch.batarchivo:

call %~dp0main.bat

Esto inicia main.batdesde la misma unidad y carpeta que lunch.bat, donde sea que esté.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.