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í nebo sourceDirName jeho obsahu. Pokud sourceDirName se jedná o 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 odkazují destDirName 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í.
Verze .NET Framework a .NET Core 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 zadaná službou sourceDirName je neplatná (například je na nemapované 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ář již po přesunutí neexistuje.
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
Poznámky
Tato metoda vytvoří nový adresář s názvem určeným destDirName a přesune obsah sourceDirNamesouborů 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 argumenty umožňují zadat relativní nebo absolutní informace o cestě. Relativní informace o cestě se interpretují jako relativní vzhledem k aktuálnímu pracovnímu adresáři. Aktuální pracovní adresář získáte v tématu 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 vyvolá Move metoda IOException ve všech platformách, pokud destDirName již existuje. Viz přejmenování C++.