Directory.Move(String, String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Mueve un archivo o directorio y su contenido a una nueva ubicación.
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)
Parámetros
- sourceDirName
- String
Ruta de acceso del archivo o del directorio que se va a mover.
- destDirName
- String
Ruta de acceso a la nueva ubicación para sourceDirName
o su contenido. Si sourceDirName
es un archivo, destDirName
debe ser también un nombre de archivo.
Excepciones
Se ha intentado mover un directorio a otro volumen.
o bien
destDirName
ya existe. Vea la nota en la sección Comentarios.
O bien
Los parámetros sourceDirName
y destDirName
hacen referencia al mismo archivo o directorio.
O bien
El directorio o un archivo que se está siendo usando por otro proceso.
El llamador no dispone del permiso requerido.
Versiones de .NET Framework y .NET Core anteriores a 2.1: sourceDirName
o destDirName
es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar los caracteres no válidos con el método GetInvalidPathChars().
sourceDirName
o destDirName
es null
.
La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
La ruta de acceso especificada por sourceDirName
no es válida (por ejemplo, está en una unidad no asignada).
Ejemplos
En el ejemplo siguiente se muestra cómo mover un directorio y todos sus archivos a un directorio nuevo. El directorio original ya no existe después de moverlo.
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
Comentarios
Este método crea un nuevo directorio con el nombre especificado por destDirName
y mueve el contenido de sourceDirName
, incluidos los archivos y directorios, al directorio de destino recién creado. A continuación, elimina el sourceDirName
directorio .
Si intenta mover un directorio a un directorio que ya existe, se producirá una IOException excepción .
Los sourceDirName
argumentos y destDirName
pueden especificar información de ruta de acceso relativa o absoluta. La información de ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte GetCurrentDirectory.
Los espacios finales se quitan del final de los parámetros de ruta de acceso antes de mover el directorio.
Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.
Nota
A partir de .NET Core 3.0, el Move
método inicia una IOException excepción en todas las plataformas cuando destDirName
ya existe. En .NET Core 2.2 y versiones anteriores, la excepción solo se produjo en Windows y otras plataformas podían conmutar por error o sobrescribir .destDirName
Consulte Cambio de nombre de C++.