Mover archivos que contengan un texto determinado de forma recursiva

Esta vez vamos a ver como podemos mover archivos que contengan una determinada palabra, un directorio concreto y sus subdirectorios, de manera recursiva. En ocasiones podemos tener la necesidad de, dentro de una carpeta con muchos directorios, subdirectorios y ficheros, mover a una carpeta determinada los ficheros que cumplan un patrón determinado.

Por ejemplo, imaginad que tenemos un directorio/subdirectorios con miles de ficheros de audio, con metadatos en el nombre y queremos hacer una selección automática de todos los ficheros de audio que en la etiqueta del nombre contengan la palabra VENTAS. Podríamos ir directorio a directorio buscando la palabra VENTAS y cortando y pegando en una carpeta o podríamos usar la búsqueda de windows y que nos diera los resultados, pero seguro que el siguiente comando os puede resultar más que útil

FOR /R "C:\DIRECTORIO_AUDIOS\" %%G IN (*VENTAS*.mp3) DO move "%%G" "C:\AUDIOS_VENTAS\"

Copiamos este código, lo guardamos en un fichero.bat y lo ejecutamos. Automáticamente va a volcar todos los audios en mp3 que contengan la palabra VENTAS en la carpeta C:\AUDIOS_VENTAS.

A partir de aquí podemos aplicar este pequeño codigo a cualquier ejemplo que se os ocurra.

Espero que os sirva de ayuda 😉

Sergio Martín
Más de 10 años de experiencia liderando, gestionando y ejectuando proyectos en diferentes ámbitos siempre bajo el foco tecnológico.

2 comentarios

  1. Amigo necesito mover distintos archivos con distintos nombres compuestos es decir en ves que diga ventas solamente que diga (las ventas de junio) por ejemplo que hay que hacer

    1. Hola,

      prueba a guardar esta linea en un fichero con extensión .bat

      FOR /R “C:\test\” %%G IN (*VENTAS*JUNIO*.txt) DO move “%%G” “C:\test\VENTAS”

      Si tienes estos ficheros:

      VENTAS DE JULIO 2010.txt
      VENTAS DE AGOSTO 2010.txt
      VENTAS DE JUNIO 2010.txt
      VENTAS DE JUNIO 2011.txt

      debería moverte solo las de JUNIO a la carpeta VENTAS.

      Saludos!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *