Share via


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

Il metodo GetFiles restituisce una raccolta di stringhe di sola lettura che rappresentano i nomi di percorso dei file.Per specificare un modello specifico, utilizzare il parametro wildCards.

Viene restituita una raccolta vuota se non vengono trovati file corrispondenti.

È possibile utilizzare il metodo CopyFile per copiare i file in una directory.

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,
        Microsoft.VisualBasic.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\" & My.Computer.FileSystem.GetName(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,
    Microsoft.VisualBasic.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 un dispositivo, ovvero 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).

  • Il nome di un file o di una 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 modello specifico in Visual Basic

Risoluzione dei problemi: lettura e scrittura nei file di testo (Visual Basic)

Procedura: ottenere la raccolta di file di una directory in Visual Basic

Riferimenti

CopyFile

GetFiles