Directory.Move(String, String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verschiebt eine Datei oder ein Verzeichnis und deren Inhalt an einen neuen Speicherort.
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)
Parameter
- sourceDirName
- String
Der Pfad der zu verschiebenden Datei oder des Verzeichnisses.
- destDirName
- String
Der Pfad zum neuen Speicherort für sourceDirName oder deren Inhalt. Wenn sourceDirName es sich um eine Datei handelt, destDirName muss es sich auch um einen Dateinamen handelt.
Ausnahmen
Es wurde versucht, ein Verzeichnis auf ein anderes Volume zu verschieben.
- oder -
destDirName ist bereits vorhanden. Weitere Informationen finden Sie im Abschnitt "Hinweise".
- oder -
Die sourceDirName Parameter beziehen destDirName sich auf dieselbe Datei oder dasselbe Verzeichnis.
- oder -
Das Verzeichnis oder eine Darin enthaltene Datei wird von einem anderen Prozess verwendet.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind oder sourceDirNamedestDirName eine leere Zeichenfolge sind, nur Leerzeichen enthalten oder mindestens ein ungültiges Zeichen enthalten. Sie können ungültige Zeichen mit der GetInvalidPathChars() Methode abfragen.
sourceDirName oder destDirName ist null.
Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Der angegebene sourceDirName Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Beispiele
Im folgenden Beispiel wird das Verschieben eines Verzeichnisses und aller zugehörigen Dateien in ein neues Verzeichnis veranschaulicht. Das ursprüngliche Verzeichnis ist nach dem Verschieben nicht mehr vorhanden.
using System;
using System.IO;
partial class Program
{
static void DirectoryMoveExample()
{
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
Partial Class Program
Shared Sub DirectoryMoveExample()
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 Class
Hinweise
Diese Methode erstellt ein neues Verzeichnis mit dem angegebenen destDirName Namen und verschiebt den Inhalt von sourceDirName, einschließlich Dateien und Verzeichnissen, in das neu erstellte Zielverzeichnis. Anschließend wird das sourceDirName Verzeichnis gelöscht.
Wenn Sie versuchen, ein Verzeichnis in ein bereits vorhandenes Verzeichnis zu verschieben, tritt ein IOException Fehler auf.
Die sourceDirName Argumente destDirName dürfen relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden Sie unter GetCurrentDirectory.
Nachfolgende Leerzeichen werden vor dem Verschieben des Verzeichnisses vom Ende der Pfadparameter entfernt.
Eine Liste allgemeiner E/A-Aufgaben finden Sie unter "Allgemeine E/A-Aufgaben".
Hinweis
Ab .NET Core 3.0 löst die Move Methode eine IOException in allen Plattformen aus, wenn die destDirName bereits vorhanden ist. Siehe C++-Umbenennen.