C# Mover diretório

Resumo : neste tutorial, você aprenderá como mover um diretório e todos os seus subdiretórios e arquivos para um novo diretório.

Introdução ao método C# Directory.Move()

O Directory.Move()método estático permite mover um diretório e seu conteúdo para um novo local. Aqui está a sintaxe do Directory.Move()método estático:

public static void Move (
   string sourceDirName, 
   string destDirName
);Linguagem de código:  C#  ( cs )

Nesta sintaxe:

  • sourceDirNameé o caminho para um diretório a ser movido.
  • destDirNameé o caminho para o novo diretório sourceDirNamee seu conteúdo.

O Directory.Move()método realiza três operações:

  • Primeiro, crie um novo diretório com o nome especificado por destDirName.
  • Segundo, mova todos os arquivos e diretórios sourceDirNamepara o diretório de destino recém-criado.
  • Terceiro, exclua o diretório original especificado pelo arquivo sourceDirName.

O Directory.Move()método gera um IOExceptionem um dos seguintes cenários:

  • Os subdiretórios ou arquivos dentro do diretório estão sendo usados ​​por outro processo.
  • Os diretórios sourceDirNamee destDirnameapontam para o mesmo diretório.
  • O diretório de destino especificado por destDirNamejá existe.
  • O diretório especificado destDirNameestá localizado em um volume diferente.

O Directory.Move()método também gera um DirectoryNotFoundExceptionse o diretório especificado por sourceDirNamefor inválido.

Exemplo de método estático C# Directory.Move()

Suponha que você tenha o seguinte diretório de origemC:\backup

c:\backup
└── 2023
   ├── 01
   |  └── readme.txt
   ├── 02
   ├── 03
   ├── 04
   ├── 05
   ├── 06
   ├── 07
   ├── 08
   ├── 09
   ├── 10
   ├── 11
   └── 12

directory: 13 file: 1Linguagem de código:  texto simples  ( texto simples )

E você deseja mover o diretório 2023e todos os seus subdiretórios e arquivos para C:\archiveo diretório. Para fazer isso, você pode usar o Directory.Move()método estático da seguinte maneira:

using static System.Console;

string backupDir = @"C:\backup\2023";
string archiveDir = @"C:\archive\2023";

try
{
    Directory.Move(backupDir, archiveDir);
}
catch (IOException ex)
{
    WriteLine(ex.Message);
}Linguagem de código:  C#  ( cs )

Depois de executar o programa, C:\archiveterá o diretório 2023e todo o seu conteúdo sob C:\archive:

c:\archive
└── 2023
   ├── 01
   |  └── readme.txt
   ├── 02
   ├── 03
   ├── 04
   ├── 05
   ├── 06
   ├── 07
   ├── 08
   ├── 09
   ├── 10
   ├── 11
   └── 12

directory: 13 file: 1Linguagem de código:  texto simples  ( texto simples )

E o 2023diretório no C:\backupé excluído:

c:\backupLinguagem de código:  texto simples  ( texto simples )

Resumo

  • Use o Directory.Move()método estático C# para mover um diretório e todos os seus subdiretórios e arquivos para um novo local.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *