Compartir a través de


Cómo: Copiar un directorio en otro directorio en Visual Basic

Use el CopyDirectory método para copiar un directorio en otro directorio. Este método copia el contenido del directorio, así como el propio directorio. Si el directorio de destino no existe, se creará. Si en la ubicación de destino existe un directorio con el mismo nombre y overwrite se establece en False, se fusionará el contenido de los dos directorios. Puede especificar un nuevo nombre para el directorio durante la operación.

Al copiar archivos dentro de un directorio, se pueden producir excepciones causadas por un archivo específico, como un archivo existente durante una combinación mientras overwrite se establece en False. Cuando se producen estas excepciones, se consolidan en una única excepción, cuya Data propiedad contiene entradas en las que la ruta de acceso del archivo o directorio es la clave y el mensaje de excepción específico se encuentra en el valor correspondiente.

Para copiar un directorio en otro directorio

  • Use el CopyDirectory método , especificando los nombres de directorio de origen y destino. El ejemplo siguiente copia el directorio denominado TestDirectory1 en TestDirectory2, sobrescribiendo los archivos existentes.

    My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
    

    Este ejemplo de código también está disponible como fragmento de código de IntelliSense. En el selector de fragmentos de código, se encuentra en sistema de archivos: unidades de procesamiento, carpetas y archivos. Para obtener más información, vea los fragmentos de código .

Programación sólida

Las condiciones siguientes pueden provocar una excepción:

  • El nuevo nombre especificado para el directorio contiene dos puntos (:) o barra diagonal (\ o /) (ArgumentException).

  • La ruta de acceso no es válida por uno de los siguientes motivos: es una cadena de longitud cero, contiene solo espacios en blanco, contiene caracteres no válidos o es una ruta de acceso del dispositivo (comienza por \\.\) (ArgumentException).

  • La ruta de acceso no es válida porque es Nothing (ArgumentNullException).

  • destinationDirectoryName es Nothing o una cadena vacía (ArgumentNullException)

  • El directorio de origen no existe (DirectoryNotFoundException).

  • El directorio de origen es un directorio raíz (IOException).

  • La ruta de acceso combinada apunta a un archivo existente (IOException).

  • La ruta de acceso de origen y la ruta de acceso de destino son las mismas (IOException).

  • ShowUI se establece en UIOption.AllDialogs y el usuario cancela la operación, o uno o varios archivos en el directorio no se pueden copiar (OperationCanceledException).

  • La operación es cíclica (InvalidOperationException).

  • La ruta de acceso contiene un signo de dos puntos (:) (NotSupportedException).

  • La ruta de acceso supera la longitud máxima definida por el sistema (PathTooLongException).

  • Un nombre de archivo o carpeta en la ruta de acceso contiene dos puntos (:) o tiene un formato no válido (NotSupportedException).

  • El usuario carece de permisos necesarios para ver la ruta de acceso (SecurityException).

  • Existe un archivo de destino, pero no se puede tener acceso a él (UnauthorizedAccessException).

Consulte también