Directory.Move(String, String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přesune soubor nebo adresář a jeho obsah do nového umístění.
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
Cesta k souboru nebo adresáři, který chcete přesunout.
- destDirName
- String
Cesta k novému umístění pro sourceDirName
nebo jeho obsah. Pokud sourceDirName
je soubor, destDirName
musí to být také název souboru.
Výjimky
Došlo k pokusu o přesunutí adresáře na jiný svazek.
-nebo-
destDirName
již existuje. Podívejte se na poznámku v části Poznámky.
-nebo-
Parametry sourceDirName
a destDirName
odkazují na stejný soubor nebo adresář.
-nebo-
Adresář nebo soubor v něm je používán jiným procesem.
Volající nemá požadované oprávnění.
.NET Framework a .NET Core verze starší než 2.1: sourceDirName
nebo destDirName
je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .
sourceDirName
nebo destDirName
je null
.
Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.
Cesta určená parametrem sourceDirName
je neplatná (například se nachází na nenamapované jednotce).
Příklady
Následující příklad ukazuje, jak přesunout adresář a všechny jeho soubory do nového adresáře. Původní adresář po přesunutí již neexistuje.
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
Poznámky
Tato metoda vytvoří nový adresář s názvem určeným parametrem destDirName
a přesune obsah sourceDirName
souboru , včetně souborů a adresářů, do nově vytvořeného cílového adresáře. Potom adresář odstraní sourceDirName
.
Pokud se pokusíte přesunout adresář do adresáře, který již existuje, dojde k chybě IOException .
Argumenty sourceDirName
a destDirName
mohou určovat relativní nebo absolutní informace o cestě. Informace o relativní cestě jsou vykládány jako relativní k aktuálnímu pracovnímu adresáři. Pokud chcete získat aktuální pracovní adresář, přečtěte si téma GetCurrentDirectory.
Koncové mezery se před přesunutím adresáře odeberou z konce parametrů cesty.
Seznam běžných vstupně-výstupních úloh najdete v tématu Běžné vstupně-výstupní úlohy.
Poznámka
Počínaje .NET Core 3.0 metoda vyvolá chybu na IOException všech platformách, Move
pokud destDirName
už existuje. V .NET Core 2.2 a předchozích verzích byla výjimka vyvolána pouze ve Windows a jiné platformy mohly převzít služby při selhání nebo přepsat destDirName
. Viz Přejmenování jazyka C++.