Partilhar via


Directory.Move(String, String) Método

Definição

Move um arquivo ou um diretório e seu conteúdo para um novo local.

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 arquivo ou diretório a ser movido.

destDirName
String

O caminho para o novo local para sourceDirName ou seu conteúdo. Se sourceDirName for um arquivo, também destDirName deve ser um nome de arquivo.

Exceções

Foi feita uma tentativa de mover um diretório para um volume diferente.

- ou -

destDirName já existe. Consulte a nota na seção Comentários.

- ou -

O sourceDirName e destDirName os parâmetros referem-se ao mesmo arquivo ou diretório.

- ou -

O diretório ou um arquivo dentro dele está sendo usado por outro processo.

O chamador não tem a permissão necessária.

As versões do .NET Framework e do .NET Core anteriores à 2.1: sourceDirName ou destDirName são uma cadeia de caracteres de comprimento zero, contêm apenas espaço em branco ou contêm um ou mais caracteres inválidos. Você pode consultar caracteres inválidos com o GetInvalidPathChars() método.

sourceDirName ou destDirName é null.

O caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

O caminho especificado por sourceDirName é inválido (por exemplo, ele está em uma unidade não mapeada).

Exemplos

O exemplo a seguir demonstra como mover um diretório e todos os seus arquivos para um novo diretório. O diretório original não existe mais depois de ser 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

Comentários

Esse método cria um novo diretório com o nome especificado destDirName e move o conteúdo de sourceDirName, incluindo arquivos e diretórios, para o diretório de destino recém-criado. Em seguida, ele exclui o sourceDirName diretório.

Se você tentar mover um diretório para um diretório que já existe, ocorrerá um IOException .

Os sourceDirName argumentos e os destDirName argumentos têm permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Para obter o diretório de trabalho atual, consulte GetCurrentDirectory.

Espaços à direita são removidos do final dos parâmetros de caminho antes de mover o diretório.

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Observação

A partir do .NET Core 3.0, o Move método lança uma IOException em todas as plataformas quando o destDirName já existe. Consulte a renomeação do C++.

Aplica-se a

Confira também