Copiar carpeta completa y sub-carpetas sobre-escribiendo lo existente.

Iniciado por Ariath, 30 Octubre 2008, 14:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Ariath

Hola, buenas :) .

Estoy buscando una manera de copiar carpetas completas en Visual Basic 2008.

La cuestión es la siguiente:

En la aplicación que estoy desarrollando, hay un momento dado en que tengo que copiar una carpeta completa (incluyendo archivos, sub-carpetas..., en fin, todo lo que tenga) a cierto sitio.

La cosa es, que en dicha carpeta, es muy posible que se hayen los mismos archivos que estoy copiando, por lo que quiero que se sobre-escriban los antiguos con los nuevos.

En un primer momento, probé a usar la orden CopyDirectory (o DirectoryCopy, no recuerdo bien), ubicada dentro de My.Computer.Filesystem (si no recuerdo mal, hablo de memoria).

Dicha orden, según el IntelliSense, recibe fundamentalmente 2 parámetros (origen y destino).

Según el IntelliSense, le puedo indicar otro parámetro al final, como un booleano, que indica si quiero que se permita sobre-escritura de archivos (vamos, supongo que se refiere a que, si lo pongo a True (porque por defecto está en False), le estoy diciendo a la orden que sobre-escriba todos los archivos que encuentre en Destino con los de Origen).

El problema viene cuando uso la orden con el booleano a True, pues basta con que en el Destino se hallen los mismos archivos que estoy copiando de Origen para que produzca una IOException.

Estuve investigando, y me pareció entender que dicha excepción se estaba dando precisamente porque la orden estaba encontrando en Destino los mismos archivos que estaba copiando de Origen.

¿Pero no se supone que le he dicho que los sobre-escriba? ¿Porqué me puede estar saltando la excepción entonces?.

Podría escribir mi propia rutina para copiar las carpetas completas, pero, aparte del engorro que supondría, me fastidia que si hay ya una orden para hacer lo mismo, no la pueda usar porque no me está funcionando.

En fín, ¿Podeis darme alguna ayuda?.

A ver si a alguien se le ocurre qué puede estar pasando, por qué salta esa excepción...

Salu2 y gracias de antemano :)

seba123neo

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Ariath

Oops, sorry :O

Al ver VB me había figurado que englobaba .NET también. Ahora he mirado los sub-foros con más detenimiento, y efectivamente había uno dedicado a ello.

Pido perdón por descolocarlo, moverlo a su sub-foro correspondiente, plis.

Salu2