Directory.Move(String, String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 sourceDirName
fichiers 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 a été levée uniquement sur Windows, et d’autres plateformes pouvaient échouer ou remplacer le destDirName
. Consultez Renommer C++.