Compartir a través de


Cómo: Copiar archivos con un patrón específico en un directorio en Visual Basic

El método GetFiles devuelve una colección de solo lectura de cadenas que representan los nombres de ruta de acceso de los archivos. Puede usar el wildCards parámetro para especificar un patrón específico.

Se devuelve una colección vacía si no se encuentra ningún archivo coincidente.

Puede usar el CopyFile método para copiar los archivos en un directorio.

Para copiar archivos con un patrón específico en un directorio

  1. Use el GetFiles método para devolver la lista de archivos. En este ejemplo se devuelven todos los archivos .rtf del directorio especificado.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Use el CopyFile método para copiar los archivos. En este ejemplo se copian los archivos en el directorio denominado testdirectory.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
    
  3. Cierre la For declaración con una Next declaración.

    Next
    

Ejemplo

En el ejemplo siguiente, que presenta los fragmentos de código anteriores en formato completo, copia todos los archivos .rtf del directorio especificado en el directorio denominado testdirectory.

For Each foundFile As String In My.Computer.FileSystem.GetFiles(
    My.Computer.FileSystem.SpecialDirectories.MyDocuments,
    Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
Next

Seguridad de .NET Framework

Las condiciones siguientes pueden provocar una excepción:

  • 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).

  • El directorio no existe (DirectoryNotFoundException).

  • El directorio apunta a un archivo existente (IOException).

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

  • Un nombre de archivo o directorio 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). El usuario carece de permisos necesarios (UnauthorizedAccessException).

Consulte también