Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

My.Computer.FileSystem.CopyDirectory, méthode

Mise à jour : novembre 2007

Copie un répertoire dans un autre répertoire.


' 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 _
)
sourceDirectoryName

String. Répertoire à copier. Obligatoire.

destinationDirectoryName

String. Emplacement vers lequel le répertoire doit être copié. Obligatoire.

overwrite

Boolean. Si des fichiers existants doivent être remplacés. La valeur par défaut est False. Obligatoire.

showUI

UIOption. Si besoin d'un suivi visuel de l'avancement de l'opération. La valeur par défaut est UIOption.OnlyErrorDialogs. Obligatoire.

onUserCancel

UICancelOption. Spécifie l'action à effectuer si l'utilisateur clique sur Annuler pendant l'opération. La valeur par défaut est ThrowException. Obligatoire.

Les conditions ci-dessous peuvent générer une exception :

  • Le nouveau nom spécifié pour le répertoire contient le signe deux-points (:) ou une barre oblique (\ ou /) (ArgumentException).

  • Le chemin d'accès n'est pas valide pour une des raisons suivantes : il s'agit d'une chaîne de longueur nulle ; il ne contient que des espaces blancs ; il contient des caractères non valides ou il s'agit d'un chemin d'accès de périphérique (qui commence par \\.\) (ArgumentException).

  • Le chemin d'accès n'est pas valide, car il a la valeur Nothing (ArgumentNullException).

  • destinationDirectoryName a la valeur Nothing ou est une chaîne vide (ArgumentNullException).

  • Le répertoire source n'existe pas (DirectoryNotFoundException).

  • Le répertoire source est un répertoire racine (IOException).

  • Le chemin d'accès combiné pointe vers un fichier existant (IOException).

  • Les chemins d'accès source et cible sont identiques (IOException).

  • ShowUI a la valeur UIOption.AllDialogs et l'utilisateur annule l'opération, ou un ou plusieurs fichiers dans le répertoire ne peuvent pas être copiés (OperationCanceledException).

  • L'opération est cyclique (InvalidOperationException).

  • Le chemin d'accès contient le signe deux-points (:) (NotSupportedException).

  • Le chemin d'accès dépasse la longueur maximale définie par le système (PathTooLongException).

  • Un nom de fichier ou de dossier du chemin d'accès contient un signe deux-points (:) ou n'a pas un format correct (NotSupportedException).

  • L'utilisateur n'a pas les autorisations nécessaires pour afficher le chemin d'accès (SecurityException).

  • Un fichier de destination existe, mais n'est pas accessible (UnauthorizedAccessException).

Cette méthode copie le contenu du répertoire, ainsi que le répertoire lui-même. Si le répertoire cible n'existe pas, il est créé. Si un répertoire portant le même nom existe à l'emplacement cible, le contenu des deux répertoires est fusionné. Vous pouvez spécifier un nouveau nom pour le répertoire pendant l'opération.

Lors de la copie de fichiers dans un répertoire, des exceptions provoquées par un fichier spécifique, comme un fichier existant au cours d'une fusion alors que overwrite a la valeur False, peuvent être levées. Lorsque de telles exceptions sont levées, elles sont consolidées en une seule exception dont la propriété Data comporte des entrées sous forme de IDictionary où le chemin d'accès au fichier ou au répertoire constitue la clé et le message d'exception spécifique est contenu dans la valeur correspondante. Utilisez For…Each pour énumérer les entrées.

Le tableau suivant répertorie des exemples de tâches impliquant la méthode My.Computer.FileSystem.CopyDirectory.

L'exemple suivant copie le répertoire TestDirectory1 dans TestDirectory2, en remplaçant les fichiers existants.

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


Remplacez C:\TestDirectory1 et C:\TestDirectory2 par le chemin d'accès et le nom du répertoire que vous souhaitez copier et l'emplacement vers lequel vous souhaitez le copier.

Espace de noms :Microsoft.VisualBasic.MyServices

Classe :FileSystemProxy (fournit l'accès à FileSystem)

Assembly : bibliothèque runtime Visual Basic (dans Microsoft.VisualBasic.dll)

Disponibilité par type de projet

Type de projet

Disponible

Application Windows

Oui

Bibliothèque de classes

Oui

Application console

Oui

Bibliothèque de contrôles Windows

Oui

Bibliothèque de contrôles Web

Oui

Service Windows

Oui

Site Web

Oui

Les autorisations suivantes peuvent être nécessaires :

Autorisation

Description

FileIOPermission

Contrôle la possibilité d'accéder à des fichiers et à des dossiers. Énumération associée : Unrestricted.

UIPermission

Contrôle les autorisations relatives aux interfaces utilisateur et au presse-papiers. Énumération associée : SafeSubWindows.

Pour plus d'informations, consultez Sécurité d'accès du code et Demande d'autorisations.

Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.