Cómo: Copiar archivos con un modelo 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 parámetro wildCards para especificar un patrón concreto.

Si no se encuentran archivos coincidentes, se devuelve una colección vacía.

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

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

  1. Use le método GetFiles 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 método CopyFile 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 instrucción For con una instrucción Next .

    Next
    

Ejemplo

En el ejemplo siguiente, que presenta los fragmentos de código anteriores de forma completa, se copian 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 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).

  • El directorio no existe (DirectoryNotFoundException).

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

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

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

Vea también