Cómo: Copiar un directorio en otro directorio en Visual Basic
Use el método CopyDirectory para copiar un directorio en otro directorio. Este método copia el contenido del directorio además del propio directorio. Si el directorio de destino no existe, se creará. Si existe un directorio con el mismo nombre en la ubicación de destino y overwrite
se establece en False
, se combinará el contenido de los dos directorios. Puede especificar un nuevo nombre para el directorio durante la operación.
Al copiar archivos en un directorio, pueden iniciarse excepciones producidas por un archivo concreto, como un archivo existente durante una combinación mientras overwrite
está establecido en False
. Cuando estas excepciones se inician, se consolidan en una sola excepción, cuya propiedad Data
contiene entradas en las que la ruta de acceso del archivo o directorio es la clave y el mensaje de excepción concreto está contenido en el valor correspondiente.
Para copiar un directorio en otro
Use el método
CopyDirectory
y especifique los nombres de los directorios de origen y destino. En el ejemplo siguiente se copia el directorio denominadoTestDirectory1
enTestDirectory2
, lo que sobrescribe 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 - procesamiento de unidades, carpetas y archivos. Para obtener más información, vea Fragmentos de código.
Programación sólida
Las condiciones siguientes pueden provocar una excepción:
El nuevo nombre especificado para el directorio contiene un signo de 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, solo 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
esNothing
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).
Las rutas de acceso de origen y destino son iguales (IOException).
ShowUI
se establece enUIOption.AllDialogs
y el usuario cancela la operación o uno o más archivos del directorio no pueden copiarse (OperationCanceledException).La operación es cíclica (InvalidOperationException).
La ruta de acceso contiene un signo de dos puntos (:) (NotSupportedException).
La ruta supera la longitud máxima definida por el sistema (PathTooLongException).
Un nombre de archivo o de carpeta de la ruta de acceso contiene un signo de dos puntos (:) o tiene un formato no válido (NotSupportedException).
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).
Un archivo de destino existe pero no se puede acceder a él (UnauthorizedAccessException).