Directory.Move(String, String) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Flyttar en fil eller en katalog och dess innehåll till en ny plats.
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)
Parametrar
- sourceDirName
- String
Sökvägen till filen eller katalogen som ska flyttas.
- destDirName
- String
Sökvägen till den nya platsen för sourceDirName eller dess innehåll. Om sourceDirName är en fil måste den destDirName också vara ett filnamn.
Undantag
Ett försök gjordes att flytta en katalog till en annan volym.
-eller-
destDirName redan finns. Se anteckningen i avsnittet Anmärkningar.
-eller-
Parametrarna sourceDirName och destDirName refererar till samma fil eller katalog.
-eller-
Katalogen eller en fil i den används av en annan process.
Anroparen har inte den behörighet som krävs.
.NET Framework- och .NET Core-versioner som är äldre än 2.1: sourceDirName eller destDirName är en sträng med noll längd, innehåller endast tomt utrymme eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken med GetInvalidPathChars() metoden.
sourceDirName eller destDirName är null.
Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.
Sökvägen som anges av sourceDirName är ogiltig (den finns till exempel på en ommappad enhet).
Exempel
I följande exempel visas hur du flyttar en katalog och alla dess filer till en ny katalog. Den ursprungliga katalogen finns inte längre när den har flyttats.
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
Kommentarer
Den här metoden skapar en ny katalog med det namn som anges av destDirName och flyttar innehållet i sourceDirName, inklusive filer och kataloger, till den nyligen skapade målkatalogen. Den tar sedan bort sourceDirName katalogen.
Om du försöker flytta en katalog till en katalog som redan finns, kommer en IOException att inträffa.
Argumenten sourceDirName och destDirName tillåts att ange relativ eller absolut sökvägsinformation. Relativ sökvägsinformation tolkas som relativ till den aktuella arbetskatalogen. Information om hur du hämtar den aktuella arbetskatalogen finns i GetCurrentDirectory.
Avslutande blanksteg tas bort från slutet av sökvägsparametrarna innan katalogen flyttas.
En lista över vanliga I/O-uppgifter finns i Vanliga I/O-uppgifter.
Note
Från och med .NET Core 3.0 genererar metoden Move en IOException på alla plattformar när destDirName redan finns. Se C++ byt namn.