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 dessen 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 Datei oder des Verzeichnisses, das verschoben werden soll.
- destDirName
- String
Der Pfad zum neuen Speicherort für sourceDirName
oder dessen Inhalt. Wenn sourceDirName
eine Datei ist, muss destDirName
auch ein Dateiname sein.
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 -
Der sourceDirName
-Parameter und destDirName
-Parameter verweisen 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 älter als 2.1: sourceDirName
oder destDirName
ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.
sourceDirName
oder destDirName
ist null
.
Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.
Der von sourceDirName
angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Ein Verzeichnis und alle zugehörigen Dateien in ein neues Verzeichnis verschoben werden. Das ursprüngliche Verzeichnis ist nach dem Verschieben nicht mehr vorhanden.
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
Hinweise
Diese Methode erstellt ein neues Verzeichnis mit dem von 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 auf.
Die sourceDirName
Argumente und 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 am Ende der Pfadparameter entfernt.
Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.
Hinweis
Ab .NET Core 3.0 löst die Move
-Methode auf allen Plattformen eine aus IOException , wenn bereits destDirName
vorhanden ist. In .NET Core 2.2 und früheren Versionen wurde die Ausnahme nur unter Windows ausgelöst, und andere Plattformen konnten entweder fehlschlagen oder überschreiben destDirName
. Weitere Informationen finden Sie unter C++-Umbenennung.