My.Computer.FileSystem.CopyDirectory (Método)
Actualización: noviembre 2007
Copia un directorio en otro directorio.
' Usage
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,overwrite)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,showUI)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,showUI ,onUserCancel)
' Declaration
Public Sub CopyDirectory( _
ByVal sourceDirectoryName As String, _
ByVal destinationDirectoryName As String _
)
' -or-
Public Sub CopyDirectory( _
ByVal sourceDirectoryName As String, _
ByVal destinationDirectoryName As String, _
ByVal overwrite As Boolean _
)
' -or-
Public Sub CopyDirectory( _
ByVal sourceDirectoryName As String, _
ByVal destinationDirectoryName As String, _
ByVal showUI As UIOption _
)
' -or-
Public Sub CopyDirectory( _
ByVal sourceDirectoryName As String, _
ByVal destinationDirectoryName As String, _
ByVal showUI As UIOption, _
ByVal onUserCancel As UICancelOption _
)
Parámetros
sourceDirectoryName
String. Directorio que se va a copiar. Obligatorio.destinationDirectoryName
String. Ubicación donde se debe copiar el directorio. Obligatorio.overwrite
Boolean. Si deben sobrescribirse o no los archivos existentes. El valor predeterminado es False. Obligatorio.showUI
UIOption. Indica si se debe hacer un seguimiento visual del progreso de la operación. El valor predeterminado es UIOption.OnlyErrorDialogs. Obligatorio.onUserCancel
UICancelOption. Especifica qué se debe hacer si el usuario hace clic en Cancelar durante la operación. El valor predeterminado es ThrowException. Obligatorio.
Excepciones
Las condiciones siguientes pueden producir una excepción:
El nuevo nombre especificado para el directorio contiene dos puntos (:) o una barra diagonal (\ o /) (ArgumentException).
La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero; sólo contiene un espacio en blanco; contiene caracteres no válidos o es una ruta de acceso de dispositivo (empieza 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).
Los puntos de la ruta de acceso señalan a un archivo existente (IOException).
La ruta de acceso de origen y la ruta de acceso de destino son la misma (IOException).
ShowUI se establece en UIOption.AllDialogs y el usuario cancela la operación o no se pueden copiar uno o más archivos en el directorio (OperationCanceledException).
La operación es cíclica (InvalidOperationException).
La ruta de acceso contiene dos puntos (:) (NotSupportedException).
La ruta supera la longitud máxima definida por el sistema (PathTooLongException).
Un nombre de archivo o de carpeta en la ruta de acceso contiene dos puntos (:) o está en un formato no válido (NotSupportedException).
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).
Existe un archivo de destino pero no se puede obtener acceso a él (UnauthorizedAccessException).
Comentarios
Este método copia el contenido del directorio así como el propio directorio. Si el directorio de destino no existe, se crea. Si existe un directorio con el mismo nombre en la ubicación de destino, se combina el contenido de los dos directorios. Puede especificar un nuevo nombre para el directorio durante la operación.
Cuando se copian archivos dentro de un directorio, se pueden producir excepciones producidas por un archivo concreto, como un archivo que existe durante una combinación mientras se establece overwrite en False. Cuando se producen dichas excepciones, se consolidan en una excepción única cuya propiedad Data contiene entradas en forma de IDictionary, donde la ruta de acceso del archivo o del directorio es la clave y el mensaje de excepción concreto está contenido en el valor correspondiente. Utilice For…Each para enumerar mediante las entradas.
Tareas
La tabla siguiente muestra una lista de ejemplos de tareas en las que está implicado el método My.Computer.FileSystem.CopyDirectory.
Para |
Vea |
---|---|
Copiar un directorio. |
Cómo: Copiar un directorio en otro directorio en Visual Basic |
Ejemplo
En el siguiente ejemplo se copia el directorio TestDirectory1 en TestDirectory2, sobrescribiendo los archivos existentes.
My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
Reemplace C:\TestDirectory1 y C:\TestDirectory2 con la ruta de acceso y el nombre del directorio que desea copiar y la ubicación donde desea copiarlo.
Requisitos
Espacio de nombres:Microsoft.VisualBasic.MyServices
Clase:FileSystemProxy (proporciona acceso a FileSystem)
Ensamblado: biblioteca en tiempo de ejecución de Visual Basic (en Microsoft.VisualBasic.dll)
Disponibilidad por tipo de proyecto
Tipo de proyecto |
Disponible |
---|---|
Aplicación para Windows |
Sí |
Biblioteca de clases |
Sí |
Aplicación de consola |
Sí |
Biblioteca de controles de Windows |
Sí |
Biblioteca de controles Web |
Sí |
Servicio de Windows |
Sí |
Sitio Web |
Sí |
Permisos
Los permisos siguientes pueden ser necesarios:
Permiso |
Descripción |
---|---|
Controla la capacidad de tener acceso a archivos y carpetas. Enumeración asociada: Unrestricted. |
|
Controla los permisos relacionados con interfaces de usuario y el Portapapeles. Enumeración asociada: SafeSubWindows. |
Para obtener más información, vea Seguridad de acceso a código y Solicitar permisos.
Vea también
Tareas
Cómo: Obtener la colección de archivos de un directorio en Visual Basic
Cómo: Mover un directorio en Visual Basic
Cómo: Mover el contenido de un directorio en Visual Basic
Cómo: Analizar rutas de acceso a archivos en Visual Basic
Cómo: Determinar la ruta de acceso absoluta de un archivo en Visual Basic
Cómo: Determinar si existe un directorio en Visual Basic