Partager via


Guide pratique pour copier un répertoire dans un autre répertoire en Visual Basic

Utilisez la CopyDirectory méthode pour copier un répertoire dans un autre répertoire. 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 dans l’emplacement cible et que overwrite est défini sur False, le contenu des deux répertoires sera 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 peuvent être levées à cause d'un fichier spécifique, comme un fichier existant lors d'une fusion alors que overwrite est défini sur False. Lorsque de telles exceptions sont levées, elles sont consolidées en une seule exception, dont Data la propriété contient des entrées dans lesquelles le chemin du fichier ou du répertoire est la clé et le message d’exception spécifique est contenu dans la valeur correspondante.

Pour copier un répertoire dans un autre répertoire

  • Utilisez la CopyDirectory méthode, en spécifiant les noms de répertoires source et de destination. L’exemple suivant copie le répertoire nommé TestDirectory1 dans TestDirectory2, remplaçant les fichiers existants.

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

    Cet exemple de code est également disponible en tant qu’extrait de code IntelliSense. Dans le sélecteur d’extraits de code, il se trouve dans le système de fichiers : traitement des lecteurs, dossiers et fichiers. Pour plus d’informations, consultez Extraits de code.

Programmation robuste

Les conditions suivantes peuvent entraîner une exception :

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

  • Le chemin d’accès n’est pas valide pour l’une des raisons suivantes : il s’agit d’une chaîne de longueur nulle, il contient uniquement des espaces blancs, il contient des caractères non valides ou il s’agit d’un chemin d’accès d’appareil (commence par \\.\) (ArgumentException).

  • Le chemin d’accès n’est pas valide, car il est Nothing (ArgumentNullException).

  • destinationDirectoryName est Nothing ou 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 combiné pointe vers un fichier existant (IOException).

  • Le chemin source et le chemin cible sont identiques (IOException).

  • ShowUI est défini sur UIOption.AllDialogs et l’utilisateur annule l’opération, ou un ou plusieurs fichiers du répertoire ne peuvent pas être copiés (OperationCanceledException).

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

  • Le chemin contient un signe deux-points (:) (NotSupportedException).

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

  • Un nom de fichier ou de dossier dans le chemin contient un signe deux-points (:) ou est dans un format non valide (NotSupportedException).

  • L’utilisateur ne dispose pas des autorisations nécessaires pour afficher le chemin d’accès (SecurityException).

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

Voir aussi