En algunas ocasiones tenemos carpetas con un caos total donde es necesario organizar archivos por extensión, obviamente no queremos hacerlo manualmente por lo que hemos creado un script para organizar archivos por extensión en batch.
Batch es un conjunto de comandos con los que podemos automatizar muchas tareas de windows.
Aprender estos comandos nos es muy util tanto para manejar la consola como para crear scritps.
Esto último es precisamente lo que haremos el día de hoy.

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.
UdemyCrearemos un script sencillo para organizar archivos por extensión dentro de una carpeta.
Si tenemos una carpeta con muchos archivos sin ningún tipo de ordenamiento, solo tenemos que colocar este archivo.
Hacer doble clic y seguir las instrucciones en pantalla.
Al finalizar tendremos todos nuestros archivos ordenados por extensión en una carpeta resultante.
En esta primera versión únicamente incluí archivos pdf, jpg, png, xlsx, txt y exe, pero es muy fácil modificar el código y agregar más.
He visto códigos similares en Python, pero no uno tal cual lo necesitaba en batch.
Si desean agregar alguna modificación, siéntanse libre de hacerlo o enviarme la sugerencia en comentarios.
Script para organizar archivos:
@echo off :: Script para organizar archivos por extension title Organizador de archivos por extension echo Bienvenido al organizador de archivos por extension echo Gracias por utilizar nuestro script! echo Asegurese de ejecutar este script donde quiera organizar sus archivos pause set rutaActual=%~dp0 :: PDF if not exist "%rutaActual:~0,-1%\salida\pdf\" mkdir %rutaActual:~0,-1%\salida\pdf\ for /r "%rutaActual:~0,-1%" %%x in (*.pdf) do move "%%x" "%rutaActual:~0,-1%\salida\pdf\" :: TXT if not exist "%rutaActual:~0,-1%\salida\txt\" mkdir %rutaActual:~0,-1%\salida\txt\ for /r "%rutaActual:~0,-1%" %%x in (*.txt) do move "%%x" "%rutaActual:~0,-1%\salida\txt\" :: XLSX if not exist "%rutaActual:~0,-1%\salida\xlsx\" mkdir %rutaActual:~0,-1%\salida\xlsx\ for /r "%rutaActual:~0,-1%" %%x in (*.xlsx) do move "%%x" "%rutaActual:~0,-1%\salida\xlsx\" :: EXE if not exist "%rutaActual:~0,-1%\salida\exe\" mkdir %rutaActual:~0,-1%\salida\exe\ for /r "%rutaActual:~0,-1%" %%x in (*.exe) do move "%%x" "%rutaActual:~0,-1%\salida\exe\" :: JPG if not exist "%rutaActual:~0,-1%\salida\jpg\" mkdir %rutaActual:~0,-1%\salida\jpg\ for /r "%rutaActual:~0,-1%" %%x in (*.jpg) do move "%%x" "%rutaActual:~0,-1%\salida\jpg\" :: PNG if not exist "%rutaActual:~0,-1%\salida\png\" mkdir %rutaActual:~0,-1%\salida\png\ for /r "%rutaActual:~0,-1%" %%x in (*.png) do move "%%x" "%rutaActual:~0,-1%\salida\png\" echo El script ha finalizado.. pause
Como pueden ver no nada del otro mundo, pero me pareció muy algo muy útil.
Obtenemos la ruta actual donde se ejecuta el script y posteriormente creamos la estructura de carpetas por extensión permitida.
Trabajamos con un ciclo que ira moviendo archivos a su correcto destino una vez más según su extensión de archivo.
Espero y les guste este pequeño script, cualquier modificación bienvenida sea.
Si este script para organizar archivos por extensión en batch te ha sido de utilidad, no olvides compartirlo en tus redes sociales y dejarnos un comentario en la sección de abajo si tienes cualquier duda relacionada con este tema, será un placer ayudarte.
¡Hasta luego!