How to move files containing a specific text recursively

Today we’ll see how we can move files that contain a particular word, a specific directory/subdirectories, recursively. Sometimes we may need to move files that meet a certain pattern to a particular folder.

For example, imagine that we have a directory/subdirectories with thousands of audio files, with metadata in the filename and we want to make an automatic selection of all the audio files that contain the word SALES in the name tag. We could go directory to directory looking for the word SALES and cutting and pasting in a folder or we could use the Windows search and give us the results, but sure that the following command can be more than useful.

FOR /R "C:\AUDIO_DIRECTORY\" %%G IN (*SALES*.mp3) DO move "%%G" "C:\SALES_AUDIO\"

Copy this code, save it in a bat file and run it. It will automatically dump all mp3 audio files containing the word SALES in the C:\SALES_AUDIO\ folder.

From here we can apply this small code to any example you can think of.

I hope it will help you;)

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.

4 comments

  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!!

  2. Buenos días: Excelentes soluciones. Una pregunta, tengo un archivo txt (ejm: lista 100.txt) que contiene nombres de 100 canciones de una carpeta (D:\Music\320p) que contiene 2000 canciones. Como hago para mover la lista (txt) de 100 canciones a otra carpeta. Muchas gracias por su apoyo.
    Saludos

  3. Amigo Sergio mi saludo y respeto, tengo un .bat que me copia un archivo en una red local desde el pc A al pc B, pero como son muchos equipos se me complica ya que, por ejemplo quiero copiar a 15 pc el archivo XY desde la pc A debo ir una a una solicitando el nombre del equipo y se cierra el .bat, es decir coloco el equipo B copia el archivo y se cierra, debo abrir otra vez el .bat, me me gustaría que me orientaras para hacerlo recursivo, que luego de copiar el archivo XY en B me pregunte si deseo copiarlo en otra pc o termine la ejecución

Leave a Reply

Your email address will not be published. Required fields are marked *