programacion por off lotes informatica ejemplos comandos batch bat archivos batch-file directory

batch-file - por - batch programacion



¿Cuál es el directorio actual en un archivo por lotes? (6)

Quiero crear algunos archivos por lotes para automatizar un programa.

Mi pregunta es cuando creo el archivo por lotes, ¿cuál es el directorio actual? ¿Es el directorio donde se encuentra el archivo o es el mismo directorio que aparece en el símbolo del sistema o algo más?


Desde dentro de su archivo por lotes:

  • %cd% refiere al directorio de trabajo actual (variable)
  • %~dp0 refiere a la ruta completa al directorio del archivo por lotes (estático)
  • %~dpnx0 refiere a la ruta completa al directorio del lote y al nombre del archivo (estático).

Digamos que estabas abriendo un archivo en tu directorio actual. El comando sería:

start %cd%/filename.filetype

Espero haber respondido a tu pregunta.


En un archivo por lotes,% cd% es el comando más utilizado para el directorio actual, aunque puede establecer su propia variable:

set mypath=%cd% echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)

Digamos que querías abrir Myprog.exe. Si estuviera en la misma carpeta, usaría el comando:

start %mypath%/Myprog.exe

Eso abriría Myprog desde la carpeta actual.

La otra opción es hacer un directorio en C: llamado AutomatePrograms. Luego, transfiere sus archivos a esa carpeta y luego puede abrirlos usando el siguiente comando:

start "" "C:/AutomatePrograms/Myprog1.exe" start "" "C:/AutomatePrograms/Myprog2.exe" start "" "C:/AutomatePrograms/Myprog3.exe"


Es el directorio desde donde ejecuta el comando para ejecutar su archivo por lotes.

Como se mencionó en las respuestas anteriores, puede agregar el siguiente comando a su secuencia de comandos para verificar:

> set current_dir=%cd% > echo %current_dir%


Es el directorio desde donde se inicia el archivo por lotes. Por ejemplo, si su lote está en c:/dir1/dir2 y usted hace cd c:/dir3 , luego ejecuta el lote, el directorio actual será c:/dir3 .


Por lo general, es el directorio desde el cual se inicia el archivo por lotes, pero si inicia el archivo por lotes desde un acceso directo, se podría proporcionar un directorio de inicio diferente. Además, cuando está en cmd y su directorio actual es c:/dir3 , aún puede iniciar el archivo por lotes utilizando c:/dir1/dir2/batch.bat en cuyo caso, el directorio actual será c:/dir3 .