Extraer archivos de carpetas con Bat

Extraer archivos de carpetas
Hola, se puede crear un archivo Bat para que ejecute lo siguiente.
Tengo una carpeta padre llamada por ejemplo "listas doc"
Dentro de la carpeta "listas doc" tengo muchas subcarpetas y dentro de cada subcarpeta tengo archivos pueden ser *.jpg *.txt *.doc etc.
Se podrían extraer todos los archivos a la carpeta padre "listas doc" y una vez extraídos eliminar las subcarpetas vacías.
Al final quedarían todos los archivos en la carpeta "listas doc"
¿Se podría ejecutar en cualquier carpeta no necesariamente llamada listas doc?

No se si me he explicado bien.

1 respuesta

Respuesta
2

Prueba con esto:

@echo off
set carpeta=%~1
pushd %carpeta%
for /f "tokens=*" %%a in ('dir /b/s /a-d *.*') do move "%%a" "%carpeta%"
for /f "tokens=*" %%a in ('dir /b/s /ad') do rd "%%a"
Popd

Salvas lo anterior como, por ejemplo, COMPACTA.BAT. Desde una ventana CMD situada donde esté ese BAT lo lanzas indicando el path de la carpeta a compactar:

compacta "d:\lo que sea\listas doc"

Intentará borrar todas las subcarpetas pero solo podrá borrar las que estén vacías.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas