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 es un archivo por lotes en sí).
Antecedentes (opcional): intentar aprovechar el compilador de vim y la configuración makeprg para ejecutar un archivo de compilación ubicado en algún lugar del proyecto y redirigir la salida a sugerencias rápidas.
Respuesta1
Supongamos que la carpeta raíz de un proyecto en particular es d:\Remote
su directorio de trabajo actual. Luego (copiado y pegado desde mi ventana del 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 simplemente podrías 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"
Notase podría encontrar más de un archivo; Si @echo
se eliminan, se ejecutarán todos los encontrados:
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 obligatoria):
- (referencia de comando)Un índice AZ de la línea de comando CMD de Windows
- (particularidades adicionales)Sintaxis de la línea de comandos de Windows CMD Shell
- (
%~G
etc. página especial)Argumentos de la línea de comando (parámetros)