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 |
|
DLL |
|