Aquí tengo un reto pepsi: ¿Cómo se podría montar un bat que copie los ficheros que se encuentren en otro fichero, pasando el fichero o el contenido como parámetros?
Veamos, no aclaras mucho el tema... Dentro del fichero lo que tendrás serán los nombres de los ficheros a copiar, así como sus ubicaciones, ¿ademas dónde los quieres copiar?... Hace tiempo hice un bat que hacia algo parecido te lo remito para que veas si te puede solucionar el tema.. Copia todas las lineas siguientes aun fichero bat llamado makecopy.bat ejemplo de una llamada makecopy d:\ c:\ fotos\ jpg --> Estro rastrea el disco DE desde el directorio raíz, el destino de la copia es el disco c:\ y en el directorio fotos\ y los ficheros buscados son los de extensión jpg rem parametros rem %1 drive origen........ d:\ el disco o directorio que se desea rastrear siempre terminado en \ rem %2 drive destino........ c:\ simplemento eso la letra de la unidad que se desea sea el distino rem %3 directorio destino .. midirectorio\misfotos\ el resto del path siempre terminado en \ rem %4 extension a copiar... jpg pues simplemente eso, la extension que se desea copiar rem ejemplo de una llamada makecopy d:\ c:\ fotos\ jpg del %2%3*.* /Q /S rd %2%3 rem borramos el contenido (ficheros) y el conteniente (directorio destino) rem para evitar el error de copia ciclicla del %2directorio.txt /S rem borramos el fichero conteniendo la estructura de directorios del %2makefile.txt /S rem Borramos el fichero que contien los diferentes ficheros a copiar dir %1*. /B >%2directorio.txt rem obtenemos todos los directoios que deseamos rastrear desde nuestro origen y lo guardmos en un fichero texto rem en este momento AUN no existe nuestro destino, por lo que no nos dara copia ciclica for /F "tokens=1" %%A in (%2directorio.txt) do xcopy %1%%A\*.%4 %2%3 /S /L >>%2makefile.txt rem rastreamos cada uno de los diferentes directoios y obtenomos los ficheros que queremos copiar. rem observa que el fichero makefile es ahora de adiccion (dobe mayor que) md %2%3 rem simpre creamos el directorio de destion %2%3 rem xcopy %1*.%4 %2%3 /S /L >%2makefile.txt rem con este xcopy rastreamos el disco origen (%1) buscando los ficheros con extsncion(*.%4) recursivamente rem y por cada encuentro existoso se escibe una linea en el fichero de salida %2makefile.txt for /F "tokens=1" %%B in (%2makefile.txt) do copy %%B %2%3 rem por cada linea escrita en el fichero makefile realizamos la copia de dicho fichero al destino. copy %1*.%4 %2%3 rem esto esta probado usuando dos discos es decir el origen de busqueda en D:\ y el destini de salida en c:\ rem para rastrear un subdirectoio llamado afotos del origen seria rem makecopy d:\afotos\ c:\ fotos\ jpg
Muchas gracias, aunque mi demora en la respuesta no ha sido por descuido sino por causas mayores, disculpas y otra vez gracias por la respuesta me ha sido de gran ayuda.