Script recursivo de Windows CMD o BAT

Script recursivo de Windows CMD o BAT

¿Cómo puedo crear un BAT o CMD que iterará a través de un árbol de carpetas y ejecutará el mismo comando en cada archivo de carpeta?

P.ej

myexe.exe C:\Documents and Settings\folder1\filename.txt
myexe.exe C:\Documents and Settings\folder2\filename.txt

Notas:

  • El nombre del archivo es el mismo en cada carpeta encontrada.
  • Los nombres de las carpetas serán todos diferentes.

Se agradece mucho su ayuda o cualquier pista sobre por dónde empezar.

Respuesta1

Adapte este archivo por lotes a sus necesidades:

@echo off
cd "\program files"
for /f "usebackq delims=|" %%a in (`dir filename.txt /s/b`) do (
        echo %%a
        myexe "%%a"
)

asegúrese de incluir la variable entre comillas dobles en caso de que el nombre del archivo tenga espacios.

Respuesta2

Un enfoque de PowerShell:

Obtener-ChildItem -Recurse. NOMBRE DE ARCHIVO.TXT | para cada {
    $_
    & myexe $_
}

información relacionada