Windows: busque y ejecute recursivamente archivos por lotes desde la línea de comandos

0

Tengo un proyecto con carpetas anidadas.

Quiero poder buscar directorios de forma recursiva hasta encontrar un archivo "build.bat" y ejecutarlo.

¿Cómo puedo hacer esto desde la línea de comando? (es decir, no un archivo por lotes en sí).

Antecedentes (Opcional): Intenta aprovechar la configuración del compilador y makeprg de vim para ejecutar un archivo de compilación ubicado en algún lugar del proyecto y redirigir la salida a sugerencias rápidas.

luego
fuente

Respuestas:

1

Supongamos que una carpeta raíz de proyecto particular es d:\Remotey es su directorio de trabajo actual. Luego (copiado y pegado desde mi ventana de símbolo del sistema):

d:\Remote>for /F "delims=" %G in ('dir /b /s build.bat') do @echo "%~G"
"d:\Remote\bat\test\build.bat"

Entonces podrías simplemente eliminar @echo...

Si está en otro directorio de trabajo:

d:\bat>for /F "delims=" %G in ('dir /b /s "d:\Remote\build.bat"') do @echo "%~G"
"d:\Remote\bat\test\build.bat"

Tenga en cuenta que se puede encontrar más de un archivo; si se @echoeliminan, todos los encontrados se ejecutarán:

d:\Remote>for /F "delims=" %G in ('dir /b /s cdn.bat') do @echo "%~G"
"d:\Remote\bat\cdn.bat"
"d:\Remote\bat\test\cdn.bat"

Recursos (lectura requerida):

JosefZ
fuente