Função MoveFileW (winbase.h)
Move um arquivo ou diretório existente, incluindo os filhos dele.
Para especificar como mover o arquivo, use a função MoveFileEx ou MoveFileWithProgress .
Para executar essa operação como uma operação transacionada, use a função MoveFileTransacted .
Sintaxe
BOOL MoveFileW(
[in] LPCWSTR lpExistingFileName,
[in] LPCWSTR lpNewFileName
);
Parâmetros
[in] lpExistingFileName
O nome atual do arquivo ou diretório no computador local.
Por padrão, o nome é limitado a caracteres MAX_PATH. Para estender esse limite para 32.767 caracteres largos, preencha "\\?\" para o caminho. Para obter mais informações, confira Nomear arquivos, caminhos e namespaces.
Dica
A partir do Windows 10, versão 1607, você pode optar por remover a limitação de MAX_PATH sem acrescentar "\\?\". Consulte a seção "Limitação máxima de comprimento do caminho" de Arquivos de Nomenclatura, Caminhos e Namespaces para obter detalhes.
[in] lpNewFileName
O novo nome para o arquivo ou diretório. O novo nome ainda não deve existir. Um novo arquivo pode estar em um sistema de arquivos ou unidade diferente. Um novo diretório precisa estar na mesma unidade.
Por padrão, o nome é limitado a caracteres MAX_PATH. Para estender esse limite para 32.767 caracteres largos, preencha "\\?\" para o caminho. Para obter mais informações, confira Nomear arquivos, caminhos e namespaces.
Dica
A partir do Windows 10, versão 1607, você pode optar por remover a limitação de MAX_PATH sem acrescentar "\\?\". Consulte a seção "Limitação máxima de comprimento do caminho" de Arquivos de Nomenclatura, Caminhos e Namespaces para obter detalhes.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
A função MoveFile moverá (renomeará) um arquivo ou um diretório (incluindo seus filhos) no mesmo diretório ou entre diretórios. A única ressalva é que a função MoveFile falhará em movimentos de diretório quando o destino estiver em um volume diferente.
Se um arquivo for movido entre volumes, MoveFile não moverá o descritor de segurança com o arquivo. O arquivo receberá o descritor de segurança padrão no diretório de destino.
A função MoveFile coordena sua operação com o serviço de acompanhamento de link, para que as fontes de link possam ser rastreadas à medida que são movidas.
No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | Sim |
TFO (Failover transparente) do SMB 3.0 | Confira o comentário |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | Confira o comentário |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
O SMB 3.0 não dá suporte à renomeação de fluxos de dados alternativos em compartilhamentos de arquivos com funcionalidade de disponibilidade contínua.
Observação
O cabeçalho winbase.h define MoveFile como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de