Condividi tramite


Procedura: copiare file con un criterio specifico in una directory in Visual Basic

Aggiornamento: novembre 2007

Metodo My.Computer.FileSystem.GetFiles restituisce un insieme di strighe in sola lettura che rappresentano i nomi di percorso dei file. Per specificare un modello specifico, utilizzare il parametro wildCards.

Viene restituito un insieme vuoto se non vengono trovati file corrispondenti.

Per copiare i file in una directory, utilizzare Metodo My.Computer.FileSystem.CopyFile.

Per copiare file con un modello specifico in una directory

  1. Utilizzare il metodo GetFiles per restituire l'elenco dei file. In questo esempio vengono restituiti tutti i file .rtf nella directory specificata.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Utilizzare il metodo CopyFile per copiare i file. In questo esempio vengono copiati i file nella directory denominata testdirectory.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
    
  3. Chiudere l'istruzione For con un'istruzione Next.

    Next
    

Esempio

Nell'esempio di seguito riportato, che ripropone in forma completa i frammenti sopra descritti, tutti i file .rtf contenuti nella directory specificata vengono copiati nella directory denominata 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

Sicurezza

Le seguenti condizioni possono generare un'eccezione:

  • Il percorso non è valido per uno dei seguenti motivi: è una stringa di lunghezza zero, contiene solo spazi vuoti, contiene caratteri non validi o è il percorso di una periferica, vale a dire inizia con \\.\ (ArgumentException).

  • Il percorso non è valido in quanto Nothing (ArgumentNullException).

  • La directory non esiste (DirectoryNotFoundException).

  • La directory punta a un file esistente (IOException).

  • La lunghezza del percorso supera la lunghezza massima definita dal sistema (PathTooLongException).

  • Un nome di file o di directory nel percorso contiene i due punti (:) o ha un formato non valido (NotSupportedException).

  • L'utente non dispone delle autorizzazioni necessarie per visualizzare il percorso (SecurityException). L'utente non dispone delle autorizzazioni necessarie (UnauthorizedAccessException).

Vedere anche

Attività

Procedura: cercare sottodirectory con un criterio di ricerca specifico in Visual Basic

Risoluzione dei problemi: lettura e scrittura nei file di testo

Procedura: ottenere l'insieme di file di una directory in Visual Basic

Riferimenti

Metodo My.Computer.FileSystem.CopyFile

Metodo My.Computer.FileSystem.GetFiles