Leer en inglés

Compartir a través de


DirectoryInfo.MoveTo(String) Método

Definición

Mueve una instancia de DirectoryInfo y su contenido a una nueva ruta de acceso.

C#
public void MoveTo (string destDirName);

Parámetros

destDirName
String

Nombre y ruta de acceso a la que se va a mover este directorio. El destino no puede ser otro volumen de disco ni un directorio con el mismo nombre. Puede ser un directorio existente al que desee agregar este directorio como subdirectorio.

Excepciones

destDirName es null.

destDirName es una cadena vacía ("").

Se ha intentado mover un directorio a otro volumen.

o bien

destDirName ya existe.

o bien

No tiene autorización para esta ruta de acceso.

o bien

El directorio que se está moviendo y el directorio de destino tienen el mismo nombre.

El llamador no dispone del permiso requerido.

No se puede encontrar el directorio de destino.

Ejemplos

En el ejemplo siguiente se muestra cómo mover un directorio.

C#
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 == false)
            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") == false)
            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);
    }
}

Comentarios

Este método produce un IOException si, por ejemplo, intenta mover c:\mydir a c:\public y c:\public ya existe. Debe especificar "c:\\public\\mydir" como destDirName parámetro o especificar un nombre de directorio nuevo, como "c:\\newdir".

Este método permite mover un directorio a un directorio de solo lectura. El atributo de lectura y escritura de ninguno de los directorios se ve afectado.

Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Consulte también