Udostępnij za pośrednictwem


Directory.Move(String, String) Metoda

Definicja

Przenosi plik lub katalog i jego zawartość do nowej lokalizacji.

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)

Parametry

sourceDirName
String

Ścieżka pliku lub katalogu do przeniesienia.

destDirName
String

Ścieżka do nowej lokalizacji sourceDirName lub jego zawartości. Jeśli sourceDirName jest to plik, destDirName musi być również nazwą pliku.

Wyjątki

Podjęto próbę przeniesienia katalogu do innego woluminu.

— lub —

destDirName już istnieje. Zobacz notatkę w sekcji Uwagi.

— lub —

Parametry sourceDirName i destDirName odwołują się do tego samego pliku lub katalogu.

— lub —

Katalog lub plik w nim jest używany przez inny proces.

Obiekt wywołujący nie ma wymaganych uprawnień.

.NET Framework i .NET Core w wersjach starszych niż 2.1: sourceDirName lub destDirName jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera co najmniej jeden nieprawidłowy znak. Możesz wykonać zapytanie o nieprawidłowe znaki za pomocą GetInvalidPathChars() metody .

sourceDirName lub destDirName ma wartość null.

Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.

Ścieżka określona przez sourceDirName jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Przykłady

W poniższym przykładzie pokazano, jak przenieść katalog i wszystkie jego pliki do nowego katalogu. Oryginalny katalog nie istnieje już po przeniesieniu.

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

Uwagi

Ta metoda tworzy nowy katalog o nazwie określonej przez destDirName i przenosi zawartość sourceDirNamepliku , w tym plików i katalogów, do nowo utworzonego katalogu docelowego. Następnie usuwa sourceDirName katalog.

Jeśli spróbujesz przenieść katalog do katalogu, który już istnieje, wystąpi.IOException

Argumenty sourceDirName i destDirName mogą określać informacje o ścieżce względnej lub bezwzględnej. Informacje o ścieżce względnej są interpretowane jako względem bieżącego katalogu roboczego. Aby uzyskać bieżący katalog roboczy, zobacz GetCurrentDirectory.

Spacje końcowe są usuwane z końca parametrów ścieżki przed przeniesieniem katalogu.

Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.

Uwaga / Notatka

Począwszy od platformy .NET Core 3.0, metoda zgłasza wartość na IOException wszystkich platformach, Move gdy destDirName już istnieje. Zobacz Zmiana nazwy języka C++.

Dotyczy

Zobacz też