Cómo: Crear una copia de un archivo en el mismo directorio en Visual Basic
Use el método My.Computer.FileSystem.CopyFile
para copiar archivos. Con los parámetros puede sobrescribir archivos existentes, cambiar el nombre del archivo, mostrar el progreso de la operación y permitir al usuario cancelar la operación.
Para crear una copia de un archivo en la misma carpeta
Use el método
CopyFile
, proporcionando el archivo de destino y la ubicación. En el ejemplo siguiente se crea una copia detest.txt
llamadatest2.txt
.My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt", "C:\TestFolder\test2.txt", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, FileIO.UICancelOption.DoNothing)
Para crear una copia de un archivo en la misma carpeta, sobrescribiendo archivos existentes
Use el método
CopyFile
; indique el archivo de destino y la ubicación, y establezcaoverwrite
enTrue
. En el ejemplo siguiente se crea una copia detest.txt
llamadatest2.txt
y sobrescribe cualquier archivo existente con dicho nombre.My.Computer.FileSystem.CopyFile("C:\TestFolder\test.txt", "C:\TestFolder\test2.txt", True)
Programación sólida
Las condiciones siguientes pueden provocar que se produzca una excepción:
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).
El sistema no pudo recuperar la ruta de acceso absoluta (ArgumentException).
La ruta de acceso no es válida porque es
Nothing
(ArgumentNullException).El archivo de origen no es válido o no existe (FileNotFoundException).
La ruta de acceso combinada apunta a un directorio existente (IOException).
El archivo de destino existe y
overwrite
está establecido enFalse
(IOException).El usuario no tiene permisos suficientes para acceder al archivo (IOException).
Hay un archivo en uso con el mismo nombre en la carpeta de destino (IOException).
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).
ShowUI
está establecido enTrue
,onUserCancel
está establecido enThrowException
y el usuario ha cancelado la operación (OperationCanceledException).ShowUI
está establecido enTrue
,onUserCancel
está establecido enThrowException
y se produce un error de E/S no especificado (OperationCanceledException).La ruta supera la longitud máxima definida por el sistema (PathTooLongException).
El usuario no tiene el permiso necesario (UnauthorizedAccessException).
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).