Directory.Move(String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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, destDirName
também deverá ser um nome de arquivo.
Exceções
Tentativa de mover um diretório para um volume diferente.
- ou -
destDirName
já existe. Consulte a nota na seção Comentários.
- ou -
Os parâmetros sourceDirName
e destDirName
se referem ao mesmo arquivo ou diretório.
- ou -
O diretório ou um arquivo nele está sendo usado por outro processo.
O chamador não tem a permissão necessária.
.NET Framework e versões do .NET Core anteriores à 2.1: sourceDirName
ou destDirName
é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Consulte caracteres inválidos com o método GetInvalidPathChars().
sourceDirName
ou destDirName
é null
.
O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho 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 ter sido movido.
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
Comentários
Esse método cria um novo diretório com o nome especificado por 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 destDirName
têm permissão para especificar informações de caminho relativas ou absolutas. As informações do 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 um IOException em todas as plataformas quando o destDirName
já existe. No .NET Core 2.2 e nas versões anteriores, a exceção só foi gerada no Windows e outras plataformas podem falhar ou substituir o destDirName
. Consulte Renomear C++.