Copiar ficheros desde un fichero

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?

1 Respuesta

Respuesta
1
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas