Directory.Move(String, String) Directory.Move(String, String) Directory.Move(String, String) Directory.Move(String, String) Method

Definition

Verschiebt eine Datei oder ein Verzeichnis und dessen Inhalt an einen neuen Speicherort.Moves a file or a directory and its contents to a new location.

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 String String String

Der Pfad der Datei oder des Verzeichnisses, das verschoben werden soll.The path of the file or directory to move.

destDirName
String String String String

Der Pfad zum neuen Speicherort für sourceDirName.The path to the new location for sourceDirName. Wenn sourceDirName eine Datei ist, muss destDirName auch ein Dateiname sein.If sourceDirName is a file, then destDirName must also be a file name.

Ausnahmen

Es wurde versucht, ein Verzeichnis auf ein anderes Volume zu verschieben.An attempt was made to move a directory to a different volume.

- oder - -or- destDirName ist bereits vorhanden.destDirName already exists. Weitere Informationen finden Sie im Abschnitt „Hinweise“.See the Note in the Remarks section.

- oder - -or- Der sourceDirName-Parameter und destDirName-Parameter verweisen auf dieselbe Datei oder dasselbe Verzeichnis.The sourceDirName and destDirName parameters refer to the same file or directory.

- oder - -or- Das Verzeichnis oder eine darin enthaltene Datei wird von einem anderen Prozess verwendet.The directory or a file within it is being used by another process.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

sourceDirName oder destDirName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.sourceDirName or destDirName is a zero-length string, contains only white space, or contains one or more invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters with the GetInvalidPathChars() method.

sourceDirName oder destDirName ist null.sourceDirName or destDirName is null.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der von sourceDirName angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).The path specified by sourceDirName is invalid (for example, it is on an unmapped drive).

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie ein Verzeichnis und alle zugehörigen Dateien in ein neues Verzeichnis verschoben werden.The following example demonstrates how to move a directory and all its files to a new directory. Das ursprüngliche Verzeichnis ist nicht mehr vorhanden, nachdem es verschoben wurde.The original directory no longer exists after it has been moved.

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);
            }
        }
    }
}
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 destDirName angegebenen Namen und verschiebt den Inhalt von sourceDirName in das neu erstellte Zielverzeichnis.This method creates a new directory with the name specified by destDirName and moves the contents of sourceDirName to the newly created destination directory. Wenn Sie versuchen, ein Verzeichnis in ein Verzeichnis zu verschieben, das bereits vorhanden IOException ist, tritt ein auf.If you try to move a directory to a directory that already exists, an IOException will occur. Beispielsweise wird eine Ausnahme ausgelöst, wenn Sie versuchen, c:\meinedir nach c:\Public zu verschieben, und c:\Public bereits vorhanden ist.For example, an exception will occur if you try to move c:\mydir to c:\public, and c:\public already exists. Alternativ können Sie "c:\\Public\ destDirName \MyDir" als Parameter angeben, vorausgesetzt, dass "MyDir" nicht unter "c:\\Public" vorhanden ist, oder Sie geben einen neuen Verzeichnisnamen an, z.\b. "c: \newdir".Alternatively, you could specify "c:\\public\\mydir" as the destDirName parameter, provided that "mydir" does not exist under "c:\\public", or specify a new directory name such as "c:\\newdir".

Das sourceDirName - destDirName Argument und das-Argument dürfen relative oder absolute Pfadinformationen angeben.The sourceDirName and destDirName arguments are permitted to specify relative or absolute path information. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden GetCurrentDirectorySie unter.To obtain the current working directory, see GetCurrentDirectory.

Nachfolgende Leerzeichen werden am Ende der Pfad Parameter vor dem Verschieben des Verzeichnisses entfernt.Trailing spaces are removed from the end of the path parameters before moving the directory.

Eine Liste der allgemeinen e/a-Aufgaben finden Sie unter Allgemeine e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Hinweis

Ab .net Core 3,0 löst die Move -Methode eine IOException auf allen Plattformen aus, destDirName wenn das bereits vorhanden ist.Starting with .NET Core 3.0, the Move method throws an IOException in all platforms when the destDirName already exists. In .net Core 2,2 und früheren Versionen wurde die Ausnahme nur unter Windows ausgelöst, und andere Plattformen konnten fehlschlagen oder die destDirNameüberschreiben.In .NET Core 2.2 and previous versions, the exception was only thrown on Windows, and other platforms could either fail or overwrite the destDirName. Siehe C++ umbenennen.See C++ rename.

Sicherheit

FileIOPermission
zum Lesen von sourceDirName und Schreiben in sourceDirName und destDirName.for reading from sourceDirName and writing to sourceDirName and destDirName. Zugehörige Enumerationen Read:,WriteAssociated enumerations: Read, Write

Gilt für:

Siehe auch