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 |
Sì |
Libreria di classi |
Sì |
Applicazione di console |
Sì |
Libreria di controlli Windows |
Sì |
Libreria di controllo Web |
Sì |
Servizio Windows |
Sì |
Sito Web |
Sì |
Autorizzazioni
Potrebbero essere necessarie le autorizzazioni riportate di seguito:
Autorizzazione |
Descrizione |
---|---|
Controlla la possibilità di accedere ai file e alle cartelle. Enumerazione associata: Unrestricted. |
|
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