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

Actualización: noviembre 2007

El método My.Computer.FileSystem.GetFiles (Método) devuelve una colección de sólo lectura de cadenas que representan los nombres de ruta de acceso a los archivos. Puede utilizar el parámetro wildCards para especificar un modelo concreto.

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

Puede utilizar el método My.Computer.FileSystem.CopyFile (Método) para copiar los archivos en un directorio.

Para copiar archivos con un modelo concreto en un directorio

  1. Utilice el método GetFiles para devolver la lista de archivos. Este ejemplo devuelve todos los archivos .rtf que se encuentran en el directorio especificado.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Utilice el método CopyFile para copiar los archivos. Este ejemplo copia los archivos en el directorio denominado testdirectory.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & 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, _
    FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")

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

Seguridad

Las condiciones siguientes pueden producir una excepción:

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

  • El directorio no existe (DirectoryNotFoundException).

  • El directorio señala a un archivo existente (IOException).

  • La ruta de acceso 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

Tareas

Cómo: Buscar subdirectorios con un modelo específico en Visual Basic

Solución de problemas: Leer y escribir en archivos de texto

Cómo: Obtener la colección de archivos de un directorio en Visual Basic

Referencia

My.Computer.FileSystem.CopyFile (Método)

My.Computer.FileSystem.GetFiles (Método)