Directory.Move(String, String) Metod

Definition

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.

Gäller för

Se även