Directory.Move(String, String) Méthode

Définition

Déplace un fichier, ou un répertoire et son contenu, vers un nouvel emplacement.

public:
 static void Move(System::String ^ sourceDirName, System::String ^ destDirName);
public static void Move (string sourceDirName, string destDirName);
static member Move : string * string -> unit
Public Shared Sub Move (sourceDirName As String, destDirName As String)

Paramètres

sourceDirName
String

Chemin du fichier ou du répertoire à déplacer.

destDirName
String

Chemin d’accès au nouvel emplacement pour sourceDirName ou son contenu. Si sourceDirName est un fichier, destDirName doit aussi être un nom de fichier.

Exceptions

Une tentative a été effectuée pour déplacer un répertoire vers un autre volume.

- ou -

destDirName existe déjà. Consultez la note dans la section Remarques.

- ou -

Les paramètres sourceDirName et destDirName font référence au même fichier ou répertoire.

- ou -

Le répertoire ou un fichier contenu dans ce répertoire est utilisé par un autre processus.

L'appelant n'a pas l'autorisation requise.

.NET Framework et .NET Core versions antérieures à 2.1 : sourceDirName ou destDirName est une chaîne de longueur nulle, contient uniquement des espaces blancs ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher les caractères non valides avec la méthode GetInvalidPathChars().

sourceDirName ou destDirName est null.

Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.

Le chemin spécifié par sourceDirName n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).

Exemples

L’exemple suivant montre comment déplacer un répertoire et tous ses fichiers vers un nouveau répertoire. Le répertoire d’origine n’existe plus après son déplacement.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string sourceDirectory = @"C:\source";
            string destinationDirectory = @"C:\destination";

            try
            {
                Directory.Move(sourceDirectory, destinationDirectory);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
open System.IO

let sourceDirectory = @"C:\source"
let destinationDirectory = @"C:\destination"

try
    Directory.Move(sourceDirectory, destinationDirectory)
with e ->
    printfn $"{e.Message}"
Imports System.IO

Module Module1

    Sub Main()
        Dim sourceDirectory As String = "C:\source"
        Dim destinationDirectory As String = "C:\destination"

        Try
            Directory.Move(sourceDirectory, destinationDirectory)
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

    End Sub

End Module

Remarques

Cette méthode crée un répertoire portant le nom spécifié par destDirName et déplace le contenu de , y compris les sourceDirNamefichiers et les répertoires, vers le répertoire de destination nouvellement créé. Il supprime ensuite le sourceDirName répertoire.

Si vous essayez de déplacer un répertoire vers un répertoire qui existe déjà, une opération IOException se produit.

Les sourceDirName arguments et destDirName sont autorisés à spécifier des informations relatives ou absolues sur le chemin d’accès. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel. Pour obtenir le répertoire de travail actuel, consultez GetCurrentDirectory.

Les espaces de fin sont supprimés de la fin des paramètres de chemin d’accès avant de déplacer le répertoire.

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.

Notes

À compter de .NET Core 3.0, la Move méthode lève un IOException dans toutes les plateformes lorsque le destDirName existe déjà. Dans .NET Core 2.2 et les versions antérieures, l’exception n’a été levée que sur Windows, et d’autres plateformes pouvaient échouer ou remplacer .destDirName Consultez Renommage C++.

S’applique à

Voir aussi