DirectoryInfo.MoveTo(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'istanza DirectoryInfo e il relativo contenuto in un nuovo percorso.
public:
void MoveTo(System::String ^ destDirName);
public void MoveTo(string destDirName);
member this.MoveTo : string -> unit
Public Sub MoveTo (destDirName As String)
Parametri
- destDirName
- String
Nome e percorso in cui spostare la directory. La destinazione non può essere un altro volume del disco o una directory con il nome identico. Può essere una directory esistente a cui si vuole aggiungere questa directory come sottodirectory.
Eccezioni
destDirName è null.
destDirName è una stringa vuota (''").
È stato effettuato un tentativo di spostare una directory in un volume diverso.
oppure
destDirName esiste già.
oppure
Non si è autorizzati ad accedere a questo percorso.
oppure
La directory da spostare e la directory di destinazione hanno lo stesso nome.
Il chiamante non dispone dell'autorizzazione richiesta.
Impossibile trovare la directory di destinazione.
Esempio
Nell'esempio seguente viene illustrato lo spostamento di una directory.
using System;
using System.IO;
public class MoveToTest
{
public static void Main()
{
// Make a reference to a directory.
DirectoryInfo di = new DirectoryInfo("TempDir");
// Create the directory only if it does not already exist.
if (!di.Exists)
di.Create();
// Create a subdirectory in the directory just created.
DirectoryInfo dis = di.CreateSubdirectory("SubDir");
// Move the main directory. Note that the contents move with the directory.
if (!Directory.Exists("NewTempDir"))
di.MoveTo("NewTempDir");
try
{
// Attempt to delete the subdirectory. Note that because it has been
// moved, an exception is thrown.
dis.Delete(true);
}
catch (Exception)
{
// Handle this exception in some way, such as with the following code:
// Console.WriteLine("That directory does not exist.");
}
// Point the DirectoryInfo reference to the new directory.
//di = new DirectoryInfo("NewTempDir");
// Delete the directory.
//di.Delete(true);
}
}
open System.IO
// Make a reference to a directory.
let di = DirectoryInfo "TempDir"
// Create the directory only if it does not already exist.
if not di.Exists then
di.Create()
// Create a subdirectory in the directory just created.
let dis = di.CreateSubdirectory "SubDir"
// Move the main directory. Note that the contents move with the directory.
if not (Directory.Exists "NewTempDir") then
di.MoveTo "NewTempDir"
try
// Attempt to delete the subdirectory. Note that because it has been
// moved, an exception is thrown.
dis.Delete true
with _ ->
// Handle this exception in some way, such as with the following code:
// Console.WriteLine("That directory does not exist.")
()
// Point the DirectoryInfo reference to the new directory.
//di = new DirectoryInfo("NewTempDir")
// Delete the directory.
//di.Delete(true)
Imports System.IO
Public Class MoveToTest
Public Shared Sub Main()
' Make a reference to a directory.
Dim di As New DirectoryInfo("TempDir")
' Create the directory only if it does not already exist.
If di.Exists = False Then
di.Create()
End If
' Create a subdirectory in the directory just created.
Dim dis As DirectoryInfo = di.CreateSubdirectory("SubDir")
If Directory.Exists("NewTempDir") = False Then
' Move the main directory. Note that the contents move with the directory.
di.MoveTo("NewTempDir")
End If
Try
' Attempt to delete the subdirectory. Note that because it has been
' moved, an exception is thrown.
dis.Delete(True)
Catch
' Handle this exception in some way, such as with the following code:
' Console.WriteLine("That directory does not exist.");
' Point the DirectoryInfo reference to the new directory.
' di = New DirectoryInfo("NewTempDir")
' Delete the directory.
' di.Delete(True)
End Try
End Sub
End Class
Commenti
Questo metodo genera un'eccezione IOException se, ad esempio, si tenta di spostare c:\mydir in c:\public e c:\public esiste già. È necessario specificare "c:\\public\\mydir" come destDirName parametro oppure specificare un nuovo nome di directory, ad esempio "c:\\newdir".
Questo metodo consente di spostare una directory in una directory di sola lettura. L'attributo di lettura/scrittura di nessuna delle due directory è interessato.
Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.