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 jej 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 posiada 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łe znaki 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.

Podana ścieżka, nazwa pliku lub obie 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;

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

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ędne w stosunku do 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

Począwszy od platformy .NET Core 3.0, metoda zgłasza element na IOException wszystkich platformach, Move gdy destDirName już istnieje. W programie .NET Core 2.2 i poprzednich wersjach wyjątek został zgłoszony tylko w systemie Windows, a inne platformy mogą zakończyć się niepowodzeniem lub zastąpić element destDirName. Zobacz Zmiana nazwy języka C++.

Dotyczy

Zobacz też