Copiar archivos del mismo tipo a una carpeta.

Quisiera saber cuál es el código, si es que se puede, para que me busque todos los archivos de determinado programa (por ejemplo, los xls de excel) y me los corte y pegue la carpeta que le especifique.

1 Respuesta

Respuesta
1
Creo que esto conseguirá lo que pides:
@ECHO off
IF "%2" == "" GOTO ayuda
CD \
IF NOT EXIST %1 (MD %1)
FOR /F "tokens=*" %%A IN ('dir /B /S *.%2') DO (MOVE /Y "%%A" %1)
GOTO :FIN
:Ayuda
ECHO Mueve a una carpeta todos los archivos de un mismo tipo presentes en la unidad
ECHO Si no existe la carpeta la crea
ECHO Formato: %0 carpeta extensión
:FIN
Lo copias en un archivo de nombre el que quieras y extensión BAT o CMD y lo ejecutas. Como dice la ayuda se le pasarían dos parámetros, el nombre de la carpeta (si no existe la creará) y la extensión (tres caracteres).
Si te da algún problema, o quieres alguna aclaración, dímelo y lo revisamos.
Saludos,
GGG
Estupendo. Funciona muy bien. Muchas gracias.
Pero me gustaría saber cómo sabe el código que se refiere a archivos de excel (esperaba ver un "xls" en el mismo), y si se puede modificar fácilmente para aplicarlo [yo mismo] a otro tipo de documentos (como Word u otros).
Saludos.
El tipo de archivos (extensión) es un parámetro de la consulta. Supongamos que le has llamado COPITIPO.BAT. Si lo llamas como COPITIPO EXCEL XLS te moverá todos los archivos con extensión XLS a la carpeta EXCEL. Pero si le llamas con COPITIPO DOCUWORD DOC te moverá todos los archivos con extensión DOC a la carpeta DOCUWORD.
Si te he entendido bien esto es, más o menos, lo que querías.
Por tanto el código sabe que se trata de archivos XLS porque se lo indicas en el segundo parámetro, que internamente se usa como %2, de manera que el comando del IN del FOR se convierte en:
DIR /B /S *.xls
Espero que esto te aclare el asunto. Pero si quieres preguntar más ya sabes donde estoy.
Saludos,
GGG

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas