Directory.Move(String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ść sourceDirName
pliku , 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++.