Condividi tramite


Metodo My.Computer.FileSystem.CopyDirectory

Aggiornamento: novembre 2007

Consente di copiare una directory in un'altra.

' Usage
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,overwrite)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,showUI)
My.Computer.FileSystem.CopyDirectory(sourceDirectoryName ,destinationDirectoryName ,showUI ,onUserCancel)
' Declaration
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String _
)
' -or-
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String, _
   ByVal overwrite As Boolean _
)
' -or-
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String, _
   ByVal showUI As UIOption _
)
' -or-
Public Sub CopyDirectory( _
   ByVal sourceDirectoryName As String, _
   ByVal destinationDirectoryName As String, _
   ByVal showUI As UIOption, _
   ByVal onUserCancel As UICancelOption _
)

Parametri

  • sourceDirectoryName
    String. La directory da copiare. Obbligatorio.

  • destinationDirectoryName
    String. Percorso in cui copiare la directory. Obbligatorio.

  • overwrite
    Boolean. Sovrascrittura o meno dei file esistenti. Il valore predefinito è False. Obbligatorio.

  • showUI
    UIOption. Consente di specificare se eseguire il monitoraggio dell'avanzamento dell'operazione. Il valore predefinito è UIOption.OnlyErrorDialogs. Obbligatorio.

  • onUserCancel
    UICancelOption. Specifica le azioni da intraprendere se l'utente fa clic su Annulla durante l'operazione. Il valore predefinito è ThrowException. Obbligatorio.

Eccezioni

Le seguenti condizioni possono generare un'eccezione:

  • Il nuovo nome specificato per la directory contiene i due punti (:) o la barra (\ o /) (ArgumentException).

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

  • destinationDirectoryName è Nothing o è una stringa vuota (ArgumentNullException)

  • La directory di origine non esiste (DirectoryNotFoundException).

  • La directory di origine è una directory principale (IOException).

  • Il percorso combinato fa riferimento a un file esistente (IOException).

  • Il percorso di origine e di destinazione sono identici (IOException).

  • ShowUI è impostato su UIOption.AllDialogs e l'utente annulla l'operazione oppure non è possibile copiare uno o più file nella directory (OperationCanceledException).

  • L'operazione è ciclica (InvalidOperationException).

  • Il percorso contiene i due punti (:) (NotSupportedException).

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

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

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

  • Un file di destinazione esiste ma non è possibile accedervi (UnauthorizedAccessException).

Note

Questo metodo consente di copiare il contenuto della directory così come la stessa directory. Se la directory di destinazione non esiste, verrà creata. Se esiste una directory con lo stesso nome nel percorso di destinazione, il contenuto delle due directory verrà unito. Nel corso dell'operazione è possibile specificare un nuovo nome della directory.

Quando si copiano i file all'inteno di una directory, è possibile che vengano generate delle eccezioni da un file specifico, come ad esempio un file esistente durante una fusione mentre overwrite è impostato su False. Quando vengono generate tali eccezioni, esse vengono consolidata in un'unica eccezione la cui proprietà Data contiene voci sotto forma di un IDictionary nel quale il percorso del file o della directory è la chiave e il messaggio di eccezione specifico è contenuto nel valore corrispondente. Utilizzare For…Each per enumerare le voci.

Attività

Nella tabella riportata di seguito sono elencati esempi di attività relative al metodo My.Computer.FileSystem.CopyDirectory.

Per

Vedere

Copiare una directory

Procedura: copiare una directory in un'altra directory di Visual Basic

Esempio

Nell'esempio riportato di seguito la directory TestDirectory1 viene copiata in TestDirectory2 sovrascrivendo i file esistenti.

My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)

Sostituire C:\TestDirectory1 e C:\TestDirectory2 con il percorso e il nome della directory che si desidera copiare e il percorso nel quale copiarlo.

Requisiti

Spazio dei nomi:Microsoft.VisualBasic.MyServices

Classe:FileSystemProxy (fornisce accesso a FileSystem)

Assembly: la libreria di runtime di Visual Basic (in Microsoft.VisualBasic.dll)

Disponibilità in base al tipo di progetto

Tipo di progetto

Disponibile

Applicazione Windows

Libreria di classi

Applicazione di console

Libreria di controlli Windows

Libreria di controllo Web

Servizio Windows

Sito Web

Autorizzazioni

Potrebbero essere necessarie le autorizzazioni riportate di seguito:

Autorizzazione

Descrizione

FileIOPermission

Controlla la possibilità di accedere ai file e alle cartelle. Enumerazione associata: Unrestricted.

UIPermission

Consente di controllare le autorizzazioni correlate alle interfacce utente e gli Appunti. Enumerazione associata: SafeSubWindows.

Per ulteriori informazioni, vedere Protezione dall'accesso di codice e Richiesta di autorizzazioni.

Vedere anche

Attività

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

Procedura: spostare una directory in Visual Basic

Procedura: spostare il contenuto di una directory in Visual Basic

Procedura: analizzare percorsi di file in Visual Basic

Procedura: determinare il percorso assoluto di un file in Visual Basic

Procedura: determinare l'esistenza di una directory in Visual Basic

Riferimenti

Oggetto My.Computer.FileSystem

Enumerazione UICancelOption