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. Siehe den Hinweis 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 folgende Beispiel wird veranschaulicht, wie Sie ein Verzeichnis und alle Dateien in ein neues Verzeichnis verschieben.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 den Namen trägt destDirName und verschiebt den Inhalt des 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, die bereits vorhanden ist, eine IOException erfolgt.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:\mydir 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 angeben "" c: "\\public\\mydir" als die destDirName -Parameter angegeben, dass "Mydir" nicht vorhanden ist, klicken Sie unter "" c: "\\public", oder geben Sie einen neuen Verzeichnisnamen 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".

Die sourceDirName und destDirName Argumente sind berechtigt, auf die Informationen der relativen oder absoluten Pfad angeben.The sourceDirName and destDirName arguments are permitted to specify relative or absolute path information. Relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Um das aktuelle Arbeitsverzeichnis zu erhalten, finden Sie unter GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Nachfolgende Leerzeichen werden am Ende der Path-Parameter vor dem Verschieben des Verzeichnis 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 e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Hinweis

Beginnend mit .NET Core 3.0, die Move -Methode löst eine IOException auf allen Plattformen bei der destDirName ist bereits vorhanden.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, die Ausnahme nur auf Windows ausgelöst wurde, und andere Plattformen können entweder erfolgreich sein oder Überschreiben der destDirName.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. Finden Sie unter C++ umbenennen.See C++ rename.

Sicherheit

FileIOPermission
für das Lesen von sourceDirName der und Schreiben in sourceDirName und destDirName.for reading from sourceDirName and writing to sourceDirName and destDirName. Zugeordnete Enumerationen: Read, WriteAssociated enumerations: Read, Write

Gilt für:

Siehe auch