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óriosourceDirName
e 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
sourceDirName
para 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 IOException
em um dos seguintes cenários:
- Os subdiretórios ou arquivos dentro do diretório estão sendo usados por outro processo.
- Os diretórios
sourceDirName
edestDirname
apontam para o mesmo diretório. - O diretório de destino especificado por
destDirName
já existe. - O diretório especificado
destDirName
está localizado em um volume diferente.
O Directory.Move()
método também gera um DirectoryNotFoundException
se o diretório especificado por sourceDirName
for 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: 1
Linguagem de código: texto simples ( texto simples )
E você deseja mover o diretório 2023
e todos os seus subdiretórios e arquivos para C:\archive
o diretório. Para fazer isso, você pode usar o
método estático da seguinte maneira:Directory.Move
()
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:\archive
terá o diretório 2023
e 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: 1
Linguagem de código: texto simples ( texto simples )
E o 2023
diretório no C:\backup
é excluído:
c:\backup
Linguagem 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.