Directory.Move(String, String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Sposta un file o una directory e il suo contenuto in un nuovo percorso.
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 il relativo contenuto. Se sourceDirName
è un file, anche destDirName
deve essere un nome file.
Eccezioni
È stato effettuato un tentativo di spostare una directory in un diverso volume.
-oppure-
destDirName
esiste già. Vedere la nota nella sezione Osservazioni.
-oppure-
I parametri sourceDirName
e destDirName
fanno riferimento allo stesso file o alla stessa directory.
-oppure-
La directory o un file in essa contenuto è usata da un altro processo.
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti alla 2.1: sourceDirName
oppure destDirName
è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. Per cercare i caratteri non validi, usare il metodo GetInvalidPathChars().
sourceDirName
o destDirName
è null
.
Il percorso specificato, il nome file 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;
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
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 relative sul percorso 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.
Nota
A partire da .NET Core 3.0, il Move
metodo genera un'eccezione IOException in tutte le piattaforme quando esiste destDirName
già . In .NET Core 2.2 e versioni precedenti, l'eccezione è stata generata solo in Windows e altre piattaforme potrebbero eseguire il failover o sovrascrivere .destDirName
Vedere Ridenominazione di C++.