Directory.Move(String, String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Move um ficheiro ou diretório e o seu conteúdo para uma nova localização.
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
O caminho do ficheiro ou diretório a mover.
- destDirName
- String
O caminho para o novo local sourceDirName ou o seu conteúdo. Se sourceDirName for um ficheiro, então destDirName também deve ser um nome de ficheiro.
Exceções
Foi feita uma tentativa de mover um diretório para um volume diferente.
-ou-
destDirName já existe. Veja a nota na secção de Observações.
-ou-
Os sourceDirName parâmetros e destDirName referem-se ao mesmo ficheiro ou diretório.
-ou-
O diretório ou um ficheiro dentro dele está a ser usado por outro processo.
O interlocutor não tem a permissão necessária.
.NET Framework e versões .NET Core anteriores à 2.1: sourceDirName ou destDirName é uma cadeia de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Podes consultar caracteres inválidos com o GetInvalidPathChars() método.
sourceDirName ou destDirName é null.
O caminho especificado, nome do ficheiro ou ambos excedem o comprimento máximo definido pelo sistema.
O caminho especificado por sourceDirName é inválido (por exemplo, está num disco não mapeado).
Exemplos
O exemplo seguinte demonstra como mover um diretório e todos os seus ficheiros para um novo diretório. O diretório original deixa de existir depois de ter sido movido.
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
Observações
Este método cria um novo diretório com o nome especificado por destDirName e move o conteúdo de sourceDirName, incluindo ficheiros e diretórios, para o diretório de destino recém-criado. Depois apaga o sourceDirName diretório.
Se tentar mover um diretório para um diretório que já existe, ocorrerá um IOException problema.
Os sourceDirName argumentos e destDirName podem especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Para obter o diretório de trabalho atual, veja GetCurrentDirectory.
Os espaços finais são removidos do final dos parâmetros do caminho antes de mover o diretório.
Para uma lista de tarefas comuns de E/S, consulte Tarefas Comuns de E/S.
Note
A partir .NET Core 3.0, o método Move lança um IOException em todas as plataformas quando o destDirName já existe. Ver renomeação em C++.