Condividi tramite


Directory.Move(String, String) Metodo

Definizione

Sposta un file o una directory e il relativo contenuto in una nuova posizione.

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)

Parametri

sourceDirName
String

Percorso del file o della directory da spostare.

destDirName
String

Percorso della nuova posizione per sourceDirName o del relativo contenuto. Se sourceDirName è un file, destDirName deve essere anche un nome di file.

Eccezioni

È stato effettuato un tentativo di spostare una directory in un volume diverso.

oppure

destDirName esiste già. Vedere la nota nella sezione Osservazioni.

oppure

I sourceDirName parametri e destDirName fanno riferimento alla stessa directory o file.

oppure

La directory o un file al suo interno viene usata da un altro processo.

Il chiamante non dispone dell'autorizzazione richiesta.

.NET Framework e versioni di .NET Core precedenti alla 2.1: sourceDirName o destDirName è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi con il GetInvalidPathChars() metodo .

sourceDirName o destDirName è null.

Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.

Il percorso specificato da sourceDirName non è valido( ad esempio, si trova in un'unità non mappata).

Esempio

Nell'esempio seguente viene illustrato come spostare una directory e tutti i relativi file in una nuova directory. La directory originale non esiste più dopo che è stata spostata.

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

Commenti

Questo metodo crea una nuova directory con il nome specificato da destDirName e sposta il contenuto di sourceDirName, inclusi file e directory, nella directory di destinazione appena creata. Elimina quindi la sourceDirName directory.

Se si tenta di spostare una directory in una directory già esistente, si verificherà un oggetto IOException .

Gli sourceDirName argomenti e destDirName sono autorizzati a specificare informazioni relative o assolute sul percorso. Le informazioni sul percorso relative sono interpretate come relative alla directory di lavoro corrente. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.

Gli spazi finali vengono rimossi dalla fine dei parametri del percorso prima di spostare la directory.

Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.

Annotazioni

A partire da .NET Core 3.0, il Move metodo genera un'eccezione IOException in tutte le piattaforme quando esiste destDirName già. Vedere Ridenominazione di C++.

Si applica a

Vedi anche