Renomear método da classe Win32_Directory

O método de classe RenameWMI renomeia o arquivo de entrada de diretório especificado no caminho do objeto. Não há suporte para uma renomeação se o destino estiver em outra unidade ou se for necessário substituir um arquivo lógico existente.

Este tópico usa a sintaxe MOF (Managed Object Format). Para obter mais informações sobre como usar esse método, consulte Chamando um método.

Sintaxe

uint32 Rename(
   string FileName
);

Parâmetros

FileName

Novo nome totalmente qualificado do arquivo (ou diretório). Exemplo: c:\temp\newfile.txt.

Valor retornado

Retorna um valor de 0 (zero) se o arquivo foi renomeado com êxito e qualquer outro número para indicar um erro.

0

A solicitação foi bem-sucedida.

2

O acesso foi negado.

8

Ocorreu uma falha não especificada.

9

O nome especificado não era válido.

10

O objeto especificado já existe.

11

O sistema de arquivos não é NTFS.

12

A plataforma não é o Windows.

13

A unidade não é a mesma.

14

O diretório não está vazio.

15

Houve uma violação de compartilhamento.

16

O arquivo inicial especificado não era válido.

17

Um privilégio necessário para a operação não é mantido.

21

Um parâmetro especificado não é válido.

Comentários

Para renomear uma pasta, primeiro associe-se à pasta em questão e, em seguida, chame o método Rename. Como o único parâmetro para o método , passe o novo nome para a pasta como um nome de caminho completo. Por exemplo, se a pasta em C:\Scripts\Logs\Backup for renomeada C:\Scripts\Archive, você deverá passar C:\Scripts\Archive como o nome completo da pasta. Passar apenas o nome da pasta – Arquivo – resulta em um erro de caminho inválido.

A classe Win32_Directory não fornece um método de uma etapa para mover pastas. Em vez disso, mover uma pasta geralmente envolve duas etapas:

1. Copiar a pasta para o novo local 2. Excluindo a pasta original

A única exceção a esse processo de duas etapas envolve mover uma pasta para um novo local na mesma unidade. Por exemplo, suponha que você queira mover C:\Temp para C:\Scripts\Arquivos Temporários\Arquivo Morto. Desde que o local atual e o novo local estejam na mesma unidade, você pode mover a pasta simplesmente chamando o método Rename e passando o novo local como o parâmetro de método. Essa abordagem efetivamente permite mover a pasta em uma única etapa. No entanto, o script falhará se a unidade atual e a nova unidade forem diferentes. Uma tentativa de renomear C:\Temp para D:\Temp falha com um erro "Unidade não é a mesma".

Exemplos

O código a seguir, da amostra Mover uma pasta usando VBScript WMI na Galeria do TechNet, usa o método Rename para mover a pasta C:\Scripts para C:\Admins\Documents\Archive\VBScript.

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
 
Set colFolders = objWMIService.ExecQuery _ 
    ("Select * from Win32_Directory where name = 'c:\\Scripts'") 
 
For Each objFolder in colFolders 
    errResults = objFolder.Rename("C:\Admins\Documents\Archive\VBScript") 
Next

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

Classes do sistema operacional

Win32_Directory